Erlink2004 Skrevet 12. desember 2004 Skrevet 12. desember 2004 (endret) Problem: Ingenting blir skrevet ut, og ja, det er noe i databasen. <?php //Kobler til MySQL mysql_connect("xx.xx.xx.xx", "xxxxxxx", "xxxxxx"); mysql_select_db("xxxxxxx"); //Kobling slutt //Starter HTML tabell print "<table border=\"1\" bordercolor=\"#000000\"bordercolorlight=\"#000000\"bordercolordark=\"#000000\">"; //Lister opp alle nyheter. $setning = "SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster"; if(mysql_num_rows($setning) == 0) { print "<tr><td>Det er ingen nyheter.</td></tr>"; } else { while($list = mysql_fetch_array($setning)) { print "<tr><td><a href=\"les.php?kat_id={$list['kategori']}\">Kategori</a> >> <b>{$list['tittel']}</b></td><td>Publisert <b>{$list['dato']}</b> Av {$list['forfatter']}</td></tr>"; print "<tr><td>{$list['ingress']}<br><a href=\"les.php?id={$list['id']}\">Les mer</a></td></tr><br><br>"; } } mysql_close(); ?> Feilmelding: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/nnetwork/erlink.nnetwork.net/legendn/list.php on line 11 Endret 12. desember 2004 av Erlink
LoS Skrevet 12. desember 2004 Skrevet 12. desember 2004 Du må kjøre $setning i mysql_query() før du kan sjekke num_rows og kjøre fetch_array.
Erlink2004 Skrevet 12. desember 2004 Forfatter Skrevet 12. desember 2004 Aha, selvsagt. =P Tusen takk for hjelpa.
Lokaltog Skrevet 12. desember 2004 Skrevet 12. desember 2004 (endret) Nærmere bestemt må du forandre det fra dette: //Lister opp alle nyheter. $setning = "SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster"; ... til dette: //Lister opp alle nyheter. $setning = mysql_query("SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster"); Edit: Du skjønte det ja.. Edit2: Anbefaler deg å kjøre spørringer og resultater gjennom en MySQL-klasse. Ting blir forbausende mye enklere da! Endret 12. desember 2004 av Lokaltog
Erlink2004 Skrevet 12. desember 2004 Forfatter Skrevet 12. desember 2004 Okay. Takk for tipset, Lokaltog!
kgb Skrevet 12. desember 2004 Skrevet 12. desember 2004 Edit2: Anbefaler deg å kjøre spørringer og resultater gjennom en MySQL-klasse. Ting blir forbausende mye enklere da! kan du gi et lynkurs i hvordan dette gjøres? jeg vet ikke helt hvordan klasser fungerer.
LoS Skrevet 12. desember 2004 Skrevet 12. desember 2004 (endret) Tja, står noe om dette i PHP FAQ'en. Men kan sikkert rable ned noe. class db { function query($query) { $query = mysql_query($query); return $query; } } Er en enkel klasse for å kjøre en spørring mot mysql. Du henter ut klassen ved å bruke $db = new db; For å ta i bruk klassen bruker du $db->query("SELECT * FROM table"); Og du kan selvfølgelig legge til flere funksjoner i klassen for å gjøre det enda enklere, mysql_connect() f.eks. class db { function connect() { mysql_connect('localhost', 'username', 'password') or die(mysql_error()); mysql_select_db('database') or die(mysql_error()); } function query($query) { $query = mysql_query($query) or die(mysql_error()); // or die() funksjonen er kjekt å slippe å skrive hver gang :) // return $query; } } Bruke samme måten som over for å hente ut klassen. Og kan da bruke $db->connect(); // kobler til databasen $db->query("SELECT * FROM table"); // kjører spørring mot databasen Prøv gjerne å få inn mysql_fetch_array(), eventuelt mysql_fetch_assoc() inn i klassen. Lite eksempelscript for å vise hvordan man jobber med såpass enkle klasser. <?php $db->connect(); $query = $db->query("SELECT * FROM table"); while($row = $db->fetch_array($query)) { echo $row[id]; } ?> Funker på omtrent samme måte som ett helt vanlig script med vanlige funksjoner istedenfor klassefunksjoner. Håper det hjalp litt edit: skrivefeil. Endret 12. desember 2004 av LoS
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å