Tror jeg har styr på det alligevel. Jeg kører 1 while, hvor jeg lister samtlige poster. Og for hver post jeg lister, laver jeg en SELECT, hvor jeg søger på XID ift. den aktuelle XID. Og hvis der der er flere end 1 resultater, så vis posten.
Men det kan være, der er en smartere og mere simpel løsning.
function database($sql){//Funktion der laver alm databasekald og returnerer resultatet $config = ini();//Hent databaseparametre $conn = mysql_connect($config[db_serv],$config[db_user],$config[db_pass]);//Åben databaseforbindelse if (!$conn) { die('Could not connect: ' . mysql_error()); } $res = mysql_db_query($config[db_base],$sql); //Udfør forespørgsel mysql_close($conn);//Luk databaseforbindelse if (!$res) {//Tjek om det gik godt die("<b>Databasefejl:<br></b>" . mysql_error($conn) ."<b><br>MySQL-sætningen var:<br></b>". $sql);//Udskriv fejlmelding og stop udførsel } return $res;//Returner resultat af forespørgsel }
Det er ikke specielt performende at lave en mysql_connect() for hvert SQL-kald. Hellere lave forbindelsen en gang for alle i en fil som du includer i toppen af de sider der skal bruge database.
Din database() funktion klaver en connect og en disconnect for hver SQL-sætning der udføres på siden. Det er alt for mage gange - de bør kun laves en gang i alt.
... hvor jeg som sagt vil anbefale at kaldene til mysql_connect() og mysql_select_db() tages ud af funktionen og udføres i en fil som includes i toppen af siden.
Jo tak. Men der er tale om et system, som p.t. består af ca. 100 forskellige filer, hvori der gøres brug af den nuværende database-funktion. Så jeg skal lige overskue det og have tid til at afteste. Mit spørgsmål i denne tråd har du løst for mig, hvorfor jeg synes vi afslutter denne del nu. Hvis dit forslag til ny connect volder problemer, vender jeg tilbage i en ny tråd. Jeg sætter meget pris på dine kommentarer og gode forklaringer.
Hvis din nuværende kode ikke giver samtlige rækker for den ovennævnte SQL ... ja, så er der fejl i din kode. For selvfølgeligt skal resultatet være det samme i PHP som i PhpMyAdmin. Og hvis der er fejl i koden, er det så klogt at bassere resten af sitets kode på den?
UPS - jeg har lige opdaget, at koden kl. 19.14.12 virker udmærket. Der var ingen dubletter i den pågældende database. Det må du meget undskylde. Men jeg har da fået noget ud af det, da du så fik kigget på min database-funktion.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.