ChavezMedlem sedan maj 20001 297 inlägg
Ser ni nått fel på denna koden?
Detta är koden jag har:
<?php
require("funktioner.php");
db_connect();
$data = mysql_query("SELECT * FROM annonser ORDER BY id DESC LIMIT 0,30");
while ($rad = mysql_fetch_row($data)){
?>
<table width="100%" border="0">
<tr>
<td width="7%"><div align="center">Annons_id</div></td>
<td width="59%"><div align="center">Titel på annonsen</div></td>
<td width="19%"><div align="center">Kategori</div></td>
<td width="15%"><div align="center">Redigera/Ta bort</div></td>
</tr>
<tr>
<td width="7%"><?php echo("$rad[a_id]");?></td>
<td width="59%"><?php echo("$rad[titel]");?></td>
<td width="19%"><?php echo("$rad[konsoll]");?></td>
<td width="15%"><a href="admin/annonser.php?op=redigera&a_id=<?php echo("$rad[a_id]");?>">Redigera</a> | <a href="admin/annonser.php?op=tabort&a_id=<?php echo("$rad[a_id]");?>">Ta bort</a></td>
</tr>
</table>
<?php
}
mysql_close();
?>
Och detta är felmeddelandet som jag får på den:
Warning: Supplied argument is not a valid MySQL result resource in C:\Inetpub\wwwroot/admin.php on line 7
Varför blir det så? Tycker inte att jag ser några fel i koden, gör ni?
Om ni undrar så finns det en funktion i funktioner.php som connectar och väljer ut databas, och den funkar som den skall.
\r Nu såg jag att jag lagt "tabellhuvudet" inne i while. Så skall det naturligtvis inte vara. Men nu var det ju inte det som kronglade :)
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
[Redigerat av Chavez den 08 jan 2001]
BatboyMedlem sedan jan. 2000888 inlägg
Ska det verkligen vara mysql_fetch_row(), det hämtar väl bara en rad från $data?
http://www.php.net/manual/function.mysql-fetch-array.php
/j
ChavezMedlem sedan maj 20001 297 inlägg
Nu blir jag snart lite arg :)
Skrev om det såhär:
<?php
require("funktioner.php");
?>
<table width="100%" border="0">
<tr>
<td width="7%"><div align="center">Annons_id</div></td>
<td width="59%"><div align="center">Titel på annonsen</div></td>
<td width="19%"><div align="center">Kategori</div></td>
<td width="15%"><div align="center">Redigera/Ta bort</div></td>
</tr>
<?php
db_connect();
$result = mysql_query("SELECT * FROM annonser ORDER BY id DESC LIMIT 0,30");
while ($row = mysql_fetch_array ($result)) {
echo"
<tr>
<td width=\"7%\">".$row["a_id"]."</td>
<td width=\"59%\">".$row["titel"]."</td>
<td width=\"19%\">".$row["konsoll"]."</td>
<td width=\"15%\"><a href=\"admin/annonser.php?op=redigera&a_id=".$row["a_id"]."\">Redigera</a> | <a href=\"admin/annonser.php?op=tabort&a_id=".$row["a_id"]."\">Ta bort</a></td>
</tr>
";
}
echo "</table>";
mysql_close();
?>
Och får fortfarande samma fel fast nu på annan rad. Är det IIS som försöker att spela mig ett spratt här eller är det PHP-Mysql som jävlas med mig?
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
SPiNMedlem sedan mars 20005 832 inlägg
Ta bort dubbelflipparna när du skriver ut datan, $row["a_id"] ska alltså bli $row[a_id]
------------------
SPiN, bjorne.w@telia.com
ChavezMedlem sedan maj 20001 297 inlägg
Är ganska så säker på att det inte är det. Kollade det för säkerhets skull. Men det funkade.
Kan tom kommentera bort all kod i where utan att få fel. Så det inte det som är fel... det hänger upp sig på raden med while.
Varför? Skulle inte nån kunna testa scripten hoss sig så att jag får veta om det är mitt IIS som strular eller nått sådant?
Eller förstås om ni hittar nått fel i koden.
Spango, woodi och ni andra, se det som en utmaning :)
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
BatboyMedlem sedan jan. 2000888 inlägg
Det finns inget fel, åtminstonde inte något som gör att det totalhavererar.
Jag testade det, ändrade bara databasinfo, och det fungerade utan problem.
Antingen är det fel i koden du inte postar (funktioner.php) eller så är det nåt annat..
/j
AliasMedlem sedan nov. 200014 inlägg
#1 Kan det vara så att SQL frågan misslyckades och att det inte alls är ett "result" som kommer tillbaka ?
#2 Gör om till en for loop ist.
for ( $ii=0; $ii<mysql_num_rows( $data ); $ii )
{
echo"
<tr>
<td width=\"7%\">".mysql_result( $data, $ii,'a_id')."</td>
<td width=\"59%\">".mysql_result( $data, $ii,'titel')."</td>
<td width=\"19%\">".mysql_result( $data, $ii,'konsoll')."</td>
<td width=\"15%\"><a href=\"admin/annonser.php?op=redigera&a_id=".mysql_result( $data, $ii,'a_id')."\">Redigera</a> | <a href=\"admin/annonser.php?op=tabort&a_id=".mysql_result( $data, $ii,'a_id')."\">Ta bort</a></td>
</tr>
";
}
// Alias
AliasMedlem sedan nov. 200014 inlägg
for ( $ii=0; $ii<mysql_num_rows( $data ); $ii++ )
ska det vara !
// Trött i mössan
ChavezMedlem sedan maj 20001 297 inlägg
Ok, ger mig då :)
Koden kanske är rätt, men nått är fortfarande fel (är tämligen säker på att det inte är i funktioner.php). Får kolla upp så att allt stämmer till 110% med databasen.
Återkommer senare!
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
ChavezMedlem sedan maj 20001 297 inlägg
Tar tillbaka det som jag sa i tidigare inlägg. Det var fel i denna koden!
Det stod "ORDER BY id"
Problemet var det att fältet heter a_id.
Men tack för all hjälp iaf!
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020