Gå til innhold

[Løst]Har et Mysql_fetch_array problem


Anbefalte innlegg

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
Videoannonse
Annonse
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 av TeisL
Lenke til kommentar

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
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

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å
×
×
  • Opprett ny...