Avatar billede allandk Nybegynder
20. maj 2013 - 21:49 Der er 14 kommentarer og
2 løsninger

Hente alle poster og gemme i variabel til senere echo

...
$query = "SELECT menuer_retter FROM minskolebod_menuer";
$result = mysql_query($query) or die ("no query");

$result_array = array();
while($row = mysql_fetch_row($result))
{
    $result_array[] = $row;
}
?>

<form>
<select>
<option><?php echo $row; ?></option>
</select>
</form>

Kan nogen se, hvad der er galt her?
Avatar billede repox Seniormester
20. maj 2013 - 22:09 #1
Det kommer jo an på hvad du mener der er galt? Dit spørgsmål indeholder ikke nogen beskrivelse af hvad der er galt, om du får nogen fejl eller hvad fejlen består af. Ej heller indeholder dit spørgsmål nogen beskrivelse om hvad du egentlig forventede at få.

Umiddelbart, så skriver du jo egentlig kun den sidst erklærede variabel fra din iteration ud; som jo ret beset kun er en midlertidig variabel som du indlæser i dit $result_array - så jeg tænker det er den du gerne vil have udskrevet?

Så kunne du i stedet skrive noget ala:

$query = "SELECT menuer_retter FROM minskolebod_menuer";
$result = mysql_query($query) or die ("no query");

$result_array = array();
while($row = mysql_fetch_row($result))
{
    $result_array[] = $row;
}
?>

<form>
<select>
<?php foreach($result_array as $result): ?>
<option><?php echo $result['menuer_retter']; ?></option>
<?php endforeach; ?>
</select>
</form>


Du bør i øvrigt også skifte MySQL udvidelsen ud med MySQLi udvidelsen da den anden er ved at udfases og anses for at være usikker. Du kan eventuelt se min egen artikel om emnet her: http://err0r.dk/artikler/vis/mysqli-for-begyndere
Avatar billede allandk Nybegynder
20. maj 2013 - 22:12 #2
Det jeg gerne ville var at hive alle retterne, ca 20, og senere i en anden løkke, hvor jeg genererer fem datoer skal de ca 20 retter udskrives som en dropdownliste.

Jeg læser lige dit indlæg om +i.
Avatar billede repox Seniormester
20. maj 2013 - 22:16 #3
Det er jo væsentligt flere steps end det du har skrevet ovenfor.
Hvor langt er du reelt set kommet?
20. maj 2013 - 22:18 #4
For at få værdier i $result_array'en, så skal while løkken vel være

while($row = mysql_fetch_row($result))
{
    $result_array[] = $row[0];
}
Avatar billede repox Seniormester
20. maj 2013 - 22:21 #5
#4 Næ, hvorfor? Det giver da det samme, uanset - det eneste der er til forskel er om du så har et multidimensionelt array eller ikke.
Avatar billede allandk Nybegynder
20. maj 2013 - 22:22 #6
@Christian_Belgien: jeg får denne fejl:
Illegal string offset 'menuer_retter' in line 75 som hedder
--> <option><?php echo $result['menuer_retter']; ?></option>
Avatar billede repox Seniormester
20. maj 2013 - 22:25 #7
#6 - det er fordi du skal skrive <?php echo $result[0]; ?>
Jeg så først nu du bruger mysql_fetch_row().
Avatar billede allandk Nybegynder
20. maj 2013 - 22:26 #8
Så får jeg første bogstav i alle posterne :D
Avatar billede allandk Nybegynder
20. maj 2013 - 22:33 #9
Hvorfor får jeg ikke hele posten, men kun det første bogstav?
Avatar billede repox Seniormester
20. maj 2013 - 22:37 #10
Hvis du har tilpasset efter det som Christian skrev, så er det klart du kun får det første bogstav. Så skal du bare nøjes med <?php echo $result; ?>

Altså, enten prøver du det ene eller også prøver du det andet; hvis du blander flere forsag sammen får du det aldrig til at virke.
Avatar billede allandk Nybegynder
20. maj 2013 - 22:45 #11
Fedt! Nu virker det.

@repox: du opdagede nok allerede i mit indledende spørgsmål, at mine evner indenfor kategorien er meget underudviklede :D

Tak for hjælpen til jeg begge, jeg har nok et tillægsspørgsmål om en halv time...

Smider I begge et svar?
Avatar billede repox Seniormester
20. maj 2013 - 22:46 #12
Svar herfra.
Avatar billede allandk Nybegynder
20. maj 2013 - 23:03 #13
Ja, så har vi balladen ... Håber I gider hjælpe mere.

I de 5 dropdownlister, der nu genereres perfekt, skal der være en selected option.

<form>
<select>
<?php foreach($result_array as $result): ?>
<option><?php echo utf8_encode($result); ?></option>
<?php endforeach; ?>
<option value="<?php echo $dage_retter; ?>" selected><?php echo $dage_retter; ?></option></select>
</form>

Den viser også den valgte - 2 gange, altså. Jeg vil bare gerne nøjes med den der står på listen i forvejen. Kan man dét?
21. maj 2013 - 07:13 #14
Jeg passer med hensyn til svar (jeg har ikke fulgt med i tråden og er ikke helt klar over om jeg har vejledt eller vildledt.)  eftersom du fik løst det problem du først opstillede foreslår jeg, at du lukker spørgsmålet og afgiver de udlovede points.  Hvis du derefter presenterer tillægsspørgsmålet som et nyt spørgsmål, så bliver det set af alle, ikke kun af de der deltager i denne tråd.
Avatar billede allandk Nybegynder
21. maj 2013 - 07:32 #15
Dit indlæg var også afgørende, derfor afventer dit svar, så jeg kan dele point ud.
21. maj 2013 - 08:10 #16
I så fald svar fra mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester