/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Abstraktioner
Fra : Stig Sørensen


Dato : 10-02-05 22:54

Hej.

For det første skal det siges at det er lang tid siden jeg har brugt PHP
så bær venligst over med mig.

# Udsnip af funktioner.php:

function sql_svar($query) {
$resultat = mysql_query($query);

while($raekke = mysql_fetch_array($resultat)) {
extract($raekke);

   }
   
}


#Udsnip af index.php:

<?php
require_once("funktioner.php");
aabn();

$query = sql_svar("select * from overskrift");

echo "$overskrift";

luk();
?>


Håber I kan se hvad jeg gerne vil. Lige under extract($raekke); skal
echo'en jo fremkaldes. Hvordan klarer jeg den?

Har stirret mig blindt på det tror jeg.

På forhånd tak.

 
 
Stig Sørensen (11-02-2005)
Kommentar
Fra : Stig Sørensen


Dato : 11-02-05 09:36

On Thu, 10 Feb 2005 22:53:34 +0100, Stig Sørensen wrote:

> Hej.
>
> For det første skal det siges at det er lang tid siden jeg har brugt PHP
> så bær venligst over med mig.
>
> # Udsnip af funktioner.php:

Jeg har prøvet lidt videre:

function sql_svar($query) {
$resultat = mysql_query($query);

while($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
   
   }
   skriv($test);
}

function skriv($test) {
   echo $test;
}



Udsnit af index.php:

<?php
require_once("funktioner.php");
aabn();

$query = sql_svar("select * from overskrift");

skriv("$overskrift");

luk();
?>

Hvorfor vil den ikke udskrive $overskrift her?
Findes der en lettere løsning som jeg prøver på?

Troels Arvin (11-02-2005)
Kommentar
Fra : Troels Arvin


Dato : 11-02-05 09:46

On Fri, 11 Feb 2005 09:35:37 +0100, Stig Sørensen wrote:

> Udsnit af index.php:
>
> <?php
> require_once("funktioner.php");
> aabn();
>
> $query = sql_svar("select * from overskrift");
>
> skriv("$overskrift");
>
> luk();
> ?>
>
> Hvorfor vil den ikke udskrive $overskrift her?

Fordi $overskift aldrig nogensinde er blevet sat.

> Findes der en lettere løsning som jeg prøver på?

Utvivlsomt. Det er bare lidt svært at se, hvad du vil. Din
"sql_svar"-funktion forsøger at udskrive noget, og returnerer intet,
selvom det ser ud til, at du på et eller andet plan ønsker, at den skal
returnere noget. Og: Forventer du at få én eller flere rækker fra din
databaseforespørgsel?

--
Greetings from Troels Arvin, Copenhagen, Denmark


Stig Sørensen (11-02-2005)
Kommentar
Fra : Stig Sørensen


Dato : 11-02-05 09:54

On Fri, 11 Feb 2005 09:46:29 +0100, Troels Arvin wrote:

> On Fri, 11 Feb 2005 09:35:37 +0100, Stig Sørensen wrote:
>
>> Udsnit af index.php:
>>
>> <?php
>> require_once("funktioner.php");
>> aabn();
>>
>> $query = sql_svar("select * from overskrift");
>>
>> skriv("$overskrift");
>>
>> luk();
>> ?>
>>
>> Hvorfor vil den ikke udskrive $overskrift her?
>
> Fordi $overskift aldrig nogensinde er blevet sat.
>
>> Findes der en lettere løsning som jeg prøver på?
>
> Utvivlsomt. Det er bare lidt svært at se, hvad du vil. Din
> "sql_svar"-funktion forsøger at udskrive noget, og returnerer intet,
> selvom det ser ud til, at du på et eller andet plan ønsker, at den skal
> returnere noget. Og: Forventer du at få én eller flere rækker fra din
> databaseforespørgsel?

Ja - kan du hjælpe mig med at få output fra databaseforespørgelsen?
Jeg vil bare lave det således at alt det kedelige bliver gemt væk i
funktioner.php.

Troels Arvin (11-02-2005)
Kommentar
Fra : Troels Arvin


Dato : 11-02-05 10:12

On Fri, 11 Feb 2005 09:54:17 +0100, Stig Sørensen wrote:

> kan du hjælpe mig med at få output fra databaseforespørgelsen?

Nej, for jeg ved ikke, hvad du vil. Det forekommer vanvittigt at SELECT'e
alle kolonner fra alle rækker i databasen. Jeg tror simpelthen ikke, det
er det, du vil.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Stig Sørensen (11-02-2005)
Kommentar
Fra : Stig Sørensen


Dato : 11-02-05 10:54

On Fri, 11 Feb 2005 10:11:44 +0100, Troels Arvin wrote:

> On Fri, 11 Feb 2005 09:54:17 +0100, Stig Sørensen wrote:
>
>> kan du hjælpe mig med at få output fra databaseforespørgelsen?
>
> Nej, for jeg ved ikke, hvad du vil. Det forekommer vanvittigt at SELECT'e
> alle kolonner fra alle rækker i databasen. Jeg tror simpelthen ikke, det
> er det, du vil.

Det er ikke select-delen der er problemet, at jeg select'er alt i tabellen
overskrift er blot som test og for at holde det enkelt som eksempel.

Jeg kan desværre ikke selv forklare med ord hvad jeg vil, synes det giver
sig selv i mine eksempler.

Men jeg kan da også gøre således:

function sql_svar($query) {
$resultat = mysql_query($query);

while($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
   
   }
   skriv($test);
}

function skriv($test) {
   echo $test;
}



Udsnit af index.php:

<?php
require_once("funktioner.php");
aabn();

$query = sql_svar("select overskrift from overskrift");

skriv("$overskrift"); // <- Her vil jeg gerne have den til at echo
outputtet ud fra forespørgelsen.

luk();
?>



Ulrik Nielsen (11-02-2005)
Kommentar
Fra : Ulrik Nielsen


Dato : 11-02-05 11:17

Stig Sørensen wrote:
> Men jeg kan da også gøre således:
>
> function sql_svar($query) {
> $resultat = mysql_query($query);
>
> while($raekke = mysql_fetch_array($resultat)) {
> extract($raekke);
>    
>    }
>    skriv($test);
> }
>
> function skriv($test) {
>    echo $test;
> }
>

det du gør her giver ingen mening.
> while($raekke = mysql_fetch_array($resultat)) {
> extract($raekke);
>    
>    }
inde i en funktion gør bare dataene tilgængelige inde i denne funktion,
men ikke for resten af scripten.


--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Operators killed when huge stack of backup tapes
| fell over.
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Kim Emax (11-02-2005)
Kommentar
Fra : Kim Emax


Dato : 11-02-05 22:51

Stig Sørensen wrote:

> Det er ikke select-delen der er problemet, at jeg select'er alt i tabellen
> overskrift er blot som test og for at holde det enkelt som eksempel.
>
> Jeg kan desværre ikke selv forklare med ord hvad jeg vil, synes det giver
> sig selv i mine eksempler.

du kan starte ved at fortælle, hvad din tabel indeholder, og fortælle,
hvilke felter du vil ha ud.

> Men jeg kan da også gøre således:
>
> function sql_svar($query) {
> $resultat = mysql_query($query);
>
> while($raekke = mysql_fetch_array($resultat)) {
> extract($raekke);
>    
>    }
>    skriv($test);
> }

Hvis det du ønsker er at echo et felt, der hedder test, for hver række
så skal du ha kaldet til skriv() _indeni din while, ikke efter den er kørt:

function sql_svar($query) {
$resultat = mysql_query($query);

while($raekke = mysql_fetch_array($resultat)) {
extract($raekke);
skriv($test); // her bliver den kaldt 5 gange,hvis der er 5 rækker
i tabellen, der matcher
// NB: da du selecter feltet overskrift, er det også det, du skal
smide ind i skriv(), altså skriv($overskrift)
}
// ikke her
// skriv($test);
}


> Udsnit af index.php:
>
> <?php
> require_once("funktioner.php");
> aabn();
>
> $query = sql_svar("select overskrift from overskrift");
>
> skriv("$overskrift"); // <- Her vil jeg gerne have den til at echo
> outputtet ud fra forespørgelsen.

Se her skriver du overskrift, men det gør du ikke i funktionen sql_svar
og iøvrigt kunne du lige så godt printe det i sql_svar i stedet for at
lave en funktion, der gør det for dig

--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
Konsulentbistand, programmering, design & hosting.
http://www.masterminds.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste