TeisL Skrevet 17. desember 2009 Del Skrevet 17. desember 2009 Hei, Jeg skal liste ut noe fra en mysql tabell. Jeg har en egen mysqlconnector klasse, som tar seg av komminukasjonen med databasen og det det ser ut til å fungere. For når jeg printer ut arrayen jeg får returnert fra denne klassen med print_r(), så får jeg det som ligger i tabellen ut. Som sagt, så returnerer klassen en array som jeg bruker. Når jeg skal skrive den ut har jeg skrevet følgende: for($i = 0; $i < $count_news; $i ++) { echo "<tr>"; echo "<td>" . $news["newsID"] . "</td><td>" . $news["header"] . "</td><td>" . $news["mainnews"] . "</td><td>" . $news["userID"] . "</td><td>" . $news["active"] ."</td>"; echo "</tr>"; } På dette får jeg feilmeldingen: Notice: Undefined index: mainnews in /var/www/web208/web/admin/pages/news.php on line 33 Og tilsvarende på de andre indexene. Men når jeg printer arrayen med print_r, så får jeg dette: Array ( [0] => Array ( [newsID] => 1 [header] => Test p� news module [mainnews] => This is a teste to check that the news module is working. [userID] => 0 [active] => 1 ) ) Så det ser i mine øyne ut som indexene jeg bruker da er rett, men noen som kan komme med noen tips til hva jeg gjør feil? Lenke til kommentar
Jonas Skrevet 17. desember 2009 Del Skrevet 17. desember 2009 Vel, $news endres ikke per iterasjon, så i beste fall så printer du det samme $count_news antall ganger. Jeg tipper du egentlig mener å bruke $news[$i]. Lenke til kommentar
MikkelRev Skrevet 18. desember 2009 Del Skrevet 18. desember 2009 jeg så ingen mysql_fetch_array i koden din. Kan du ikke bruke while($row=mysql_fetch_array($result,MYSQL_ASSOC)) istedetfor for-loopen din? Lenke til kommentar
TeisL Skrevet 18. desember 2009 Forfatter Del Skrevet 18. desember 2009 (endret) jeg så ingen mysql_fetch_array i koden din.Kan du ikke bruke while($row=mysql_fetch_array($result,MYSQL_ASSOC)) istedetfor for-loopen din? Ja, har gjort det sånn nå bare for å få det til å fungere, men i den opprinnelige koden,så bruker jeg en funksjon i MySqlConnectoren min queryToArray og news settes jo slik: $news = $db->queryToArray(); Her er quaryToArray funksjonen: public function queryToArray($sql){ //Use own query function $result = $this->query($sql); $array = array(); while($row = mysql_fetch_assoc($result)){ $array[] = $row; } //Clear result to free memory mysql_free_result($result); return $array; }//End queryToArray() Endret 18. desember 2009 av TeisL Lenke til kommentar
tarquinn Skrevet 18. desember 2009 Del Skrevet 18. desember 2009 Jeg ville behandlet array'en slik: echo "<table>\n"; $showFields = array("header", "mainnews"); // Hvilke array elementer som skal vises foreach($news AS $newsArray){ echo "<tr>\n"; foreach($newsArray AS $field => $value){ if(in_array($field, $showFields) == true) echo "<td>$value</td>\n"; } echo "</tr>\n"; } echo "</table>"; Hjelper det? Lenke til kommentar
TeisL Skrevet 18. desember 2009 Forfatter Del Skrevet 18. desember 2009 Jeg ville behandlet array'en slik: echo "<table>\n"; $showFields = array("header", "mainnews"); // Hvilke array elementer som skal vises foreach($news AS $newsArray){ echo "<tr>\n"; foreach($newsArray AS $field => $value){ if(in_array($field, $showFields) == true) echo "<td>$value</td>\n"; } echo "</tr>\n"; } echo "</table>"; Hjelper det? Takk for hjelpen, det hjalp mye. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå