Gå til innhold

Skrive ut en multidimensjonal array


Anbefalte innlegg

planen er å kunne skrive ut data om alle brukere som er registrert i en database. disse dataene ligger i en multidimensjonal array.

 

det jeg har problemer med er å få skrevet ut data for alle brukerne istedenfor data for den første som ligger i databasen. har prøvd med foreach og detvarjeg jeg kun fikk skrevet ut for den første brukeren i databasen. Jeg har laget arrayen slik:

$link_id = mysql_connect($default_dbhost, $dbusername, $dbpassword ) or error_message ("Oppkobling feilet");
$database = mysql_select_db ("brukere") or error_message ("Databasen finnes ikke");
$data = mysql_query ("SELECT * FROM `brukere`") or error_message("Henting av data feilet");
$antall = mysql_num_rows ($data);
$mail_data = mysql_fetch_array($data, MYSQL_ASSOC) or error_message ("Klarte ikke hente ut data");

 

og skrevet ut dataene slik:

foreach ($mail_data as $display) {
echo "<td>" . $display['fornavn'] . "</td>";
echo "<td>" . $display['etternavn'] . "</td>";
echo "<td>" . $display['brukernavn'] . "</td>";
}

 

hva gjør jeg galt?

Lenke til kommentar
Videoannonse
Annonse

while ($rad = mysql_fetch_row($data)) {
   printf("
       <tr>
           <td>%s</td>
           <td>%s</td>
           <td>%s</td>
       </tr>
   ", $rad[1], $rad[2], $rad[3]);
}

 

Hvis ikke jeg har misforstått, skulle noe liknende det være løsningen.

Lenke til kommentar

vet at det står masse eksempler om det i manualen til php.. spesielt med at en må bruke 2 foreach-løkker. problemet mitt er at jeg såvidt har begynt å skjønne hvordan en skal bruke (og manipulere) multidimensjonale arrays... så hvordan jeg da skal (mis)bruke de i en løkke har vært ganske uforståelig.....

 

jeg i manualen til php har jeg fått inntrykk av at foreach brukes på slike arrays så jeg var vel litt villedet med hensyn til å bruke noe annet....

 

 

:blush:

Lenke til kommentar

jeg har aldri brukt begrepet "multidimensjonelle arrays" om resource identifier'en du får fra et mysql query, og synes heller ikke det hører helt hjemme der..

 

et mysql query gir deg en såkalt "resource identifier", ingen array.

 

vha funksjonene mysql_fetch_array, *_assoc og *_row kan du hente ut arrays fra denne.

 

disse array'ene er hver rad i mysql tabellen og er ikke multidimensjonale.

 

som du ser av Edorph sitt eksempel brukes han ikke for eller foreach en eneste gang.

Lenke til kommentar
while ($rad = mysql_fetch_row($data)) {
   printf("
       <tr>
           <td>%s</td>
           <td>%s</td>
           <td>%s</td>
       </tr>
   ", $rad[1], $rad[2], $rad[3]);
}

 

Hvis ikke jeg har misforstått, skulle noe liknende det være løsningen.

kanskje dette er litt teit spørsmål, men hva gjør %s...?

Lenke til kommentar
while ($rad = mysql_fetch_row($data)) {
   printf("
       <tr>
           <td>%s</td>
           <td>%s</td>
           <td>%s</td>
       </tr>
   ", $rad[1], $rad[2], $rad[3]);
}

 

Hvis ikke jeg har misforstått, skulle noe liknende det være løsningen.

kanskje dette er litt teit spørsmål, men hva gjør %s...?

%s fungerer på en måte som å fortelle php "putt strengen her!"

Det som da får plassen til %s blir de variablene som er 2. argument< til printf.

Dette fungerer på samme måte:

printf("
       <tr>
           <td>".$rad[1]."</td>
           <td>".$rad[2]."</td>
           <td>".$rad[3]."</td>
       </tr>");

Lenke til kommentar
%s fungerer på en måte som å fortelle php "putt strengen her!"

Det som da får plassen til %s blir de variablene som er 2. argument< til printf.

det er jo en ganske fiffig løsning om jeg får si det.....

 

et dumt spørsmål til:

når en bruker 'mysql_fetch_array' blir innholdet (den valgte linjen/raden i tabellen) puttet inn i en 'vanlig' array eller en multidimensjonal array...?

 

nå begynner jeg skjønne hvorfor jeg ikke fikk det til da jeg lagde denne tråden...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...