Avatar billede okidoky Nybegynder
20. juli 2009 - 13:30 Der er 4 kommentarer

Class and MySQL

Hejsa

Jeg er træt af at skrive "$sql = myysql_query("SELECT...." så mange gange.

Jeg har oprettet en class med en function Select()

inde i functionen har jeg ex. følgende kode:

$sql = mysql_query("SELECT * FROM $this->table order by $this->id desc");
   
while($row = mysql_fetch_array($sql)){   
echo $row["$this->row"];
}
mysql_close($conn);

Og jeg udskriver dem fra den side jeg skal bruge dem sådan:

$sel = new sql_records;
$row = $sel->select_all();
foreach($row as $value){
echo "<tr>";
echo "<td>";
echo "<a href='#hide'>".$value."</a>";
echo "</td>";
echo "</tr>";
}
Men det dur ikke, fordi i $value er alle rækker udskrivet på en gang.
Hvordan kan jeg få rækkerne udskrivet hver for sig ???

det er lidt avært at putte dem i array da det er text den udskriver?? n
Avatar billede repox Seniormester
20. juli 2009 - 13:42 #1
Funktionen gør i princippet det du beder den om.
Den echo'er alle rækkerne ud.

overordnet set er det noget sludder du har fået brygget sammen.
Hvis det er fordi du gerne vil have returneret dit resultat til et array skal funktionen se nogenlunde således ud:

public function Select()
{

    $conn = mysql_connect();
    $sql = mysql_query("SELECT * FROM $this->table order by $this->id desc");
 
      $rows = array();
 
    while($row = mysql_fetch_array($sql))
    { 
        $rows = $row[$this->row];
    }
    mysql_close($conn);
    return $rows;
}

Men alt i alt er det nok temmelig ubrugeligt. Hvorfor ikke bruge et abstraktionslag der er lavet? Du har tydeligvis ikke helt styr på hvordan man laver sådanne ting, så jeg vil anbefale dig at bruge en som er lavet og lure den igennem.
Avatar billede okidoky Nybegynder
20. juli 2009 - 14:03 #2
ved du hvor jeg kan finde en simple script ?
Avatar billede repox Seniormester
20. juli 2009 - 14:11 #3
Sådanne abstraktionslag som dem du søger er sjældent simple. Problematikken ligger i at de skal være effektive og nemme at at bruge; så selvom det virker som meget kode og ser kompliceret ud, så har det et formål.

Jeg har lavet en som du gerne må tage.
Du kan finde den her:
http://pastebin.com/m36400c2b

Eksempler på brugen af den kan findes her:
http://pastebin.com/m7b13033d

Den burde være uhyre simpel at gå til.
Avatar billede okidoky Nybegynder
20. juli 2009 - 14:24 #4
mange tak - kigger den lige igennem :D skal nok lære det..
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester