hockey500 Skrevet 23. april 2005 Del Skrevet 23. april 2005 (endret) Could not execute query: No Database Selected. hva er denne koden bra for da? mysql_select_db("min_db"); Endret 23. april 2005 av hockey500 Lenke til kommentar
Prodigy_ Skrevet 23. april 2005 Del Skrevet 23. april 2005 Den koden er riktig den. Men du sikker på at du har skrevet inn riktig navn på databasen? Lenke til kommentar
hockey500 Skrevet 23. april 2005 Forfatter Del Skrevet 23. april 2005 (endret) nei. dette funka: $user = "root"; //Ditt brukernavn for databasen $pass= ""; //Ditt valgte passord $host = "localhost"; //Din egen lokale database //Kopler til database-serveren, eller "velger den" om du vil $connection = mysql_connect($host, $user, $pass); //En databaseserver (som din egen pc) kan ha flere databaser -> som inneholder flere tabeller. //Vi må velge en database vi skal bruke. "test" i dette tilfellet. mysql_select_db("min_db"); //Nå kan vi gjøre søk eller innsettinger i tabeller denne databasen inneholder! $query = 'SELECT * FROM min_tabell'; $resultat = mysql_query($query) or die("Could not execute query: " . mysql_error()); ?> men hva nå liksom? det er en tabell med 2 kolonner og 3 rader. det skal dukke opp, men hvordan? hvor kan jeg eventuelt lese mer om alt dette? php.net/manual har vel ikke noe om databaser? Endret 23. april 2005 av hockey500 Lenke til kommentar
Prodigy_ Skrevet 23. april 2005 Del Skrevet 23. april 2005 Du kan lese mer om MySQL her Lenke til kommentar
hockey500 Skrevet 23. april 2005 Forfatter Del Skrevet 23. april 2005 (endret) noen som kan forklare denne kodesnutten? $array = mysql_fetch_array($resultat); foreach ($array as $key => $val) { echo 'Index: '.$key.'<br>'; echo '<br>'; og lønner det seg å kjøpe bok? hvilken er best? Endret 23. april 2005 av hockey500 Lenke til kommentar
phanti Skrevet 24. april 2005 Del Skrevet 24. april 2005 Å investere i en bok har mange fordeler det, men du har så utrolig mange andre muligheter på nettet, for å ikke snakke om dokumentasjonen til php.net i seg selv. Er det noe jeg ikke vet hvordan fungerer, er det bare å slå det opp på php.net. feks. lim inn "foreach" i boksen oppe til høyre og tast <enter>, vips har du godt utfyllende beskrivelse av funksjonen + eksempler + egne brukeres kommentarer og tips. Bare se her. Lenke til kommentar
hockey500 Skrevet 24. april 2005 Forfatter Del Skrevet 24. april 2005 <?php $user = "root"; //Ditt brukernavn for databasen $pass= ""; //Ditt valgte passord $host = "localhost"; //Din egen lokale database //Kopler til database-serveren, eller "velger den" om du vil $connection = mysql_connect($host, $user, $pass); //En databaseserver (som din egen pc) kan ha flere databaser -> som inneholder flere tabeller. //Vi må velge en database vi skal bruke. "test" i dette tilfellet. mysql_select_db("min_db"); //Nå kan vi gjøre søk eller innsettinger i tabeller denne databasen inneholder! $query = 'SELECT * FROM min_tabell WHERE Navn ="Hakon"'; $resultat = mysql_query($query) or die("Could not execute query: " . mysql_error()); //printe ut noe innhold $array = mysql_fetch_array($resultat); foreach ($array as $key) { echo 'Index: '.$key .'<br>'; } ?> noen som kan fortelle meg hvorfor resultatet blir: Index: Hakon Index: Hakon Index: 15 Index: 15 ??? det jeg vil ha er: Håkon 15 osv osv det er 11 rader i tabellen Lenke til kommentar
phanti Skrevet 24. april 2005 Del Skrevet 24. april 2005 Hvis du ser her så bør du finne det du leter etter. Det handler om måten du henter ut dataene på, som ofte er det vanskeligste å lære seg/forstå når det gjelder php og mysql. Lenke til kommentar
hockey500 Skrevet 25. april 2005 Forfatter Del Skrevet 25. april 2005 jeg får det bare ikke til: //Nå kan vi gjøre søk eller innsettinger i tabeller denne databasen inneholder! $query = 'SELECT * FROM server WHERE Navn ="Karo"'; $resultat = mysql_query($query) or die("Could not execute query: " . mysql_error()); //printe ut noe innhold $tabell = '<table border="1">'; echo $tabell; echo '<tr><td bgcolor="#999999"><b>Navn</b></td><td bgcolor="#999999"><b>Alder</b></td></tr>'; $arr = mysql_fetch_row($resultat); foreach ($arr as $value) { echo "<td>".$value."</td>"; } echo "</tr>"; $query2 ='SELECT * FROM server WHERE Navn="Karlern"'; $resultat2 = mysql_query($query2) or die(mysql_error()); $arr2=mysql_fetch_row($resultat2); foreach($arr2 as $value2) { echo "<td>".$value2."</td>"; } echo "</tr></table>"; ?> det er det nærmeste jeg har kommet. det funker jo, men det er tungvint og skulle gjerne fått koden til å printe ut hele tabellen og legge hver verdi i en celle i tabellen. det der er kun siste del av koden, som dere sikkert skjønte. kan noen være så snille å komme med koden for å printe ut hele tabellen fra MySQL og legge den inn i en tabell? (for de som lurer er Karo bikkja mi og karlern = Karl André, en kompis) en ting til: foreach($array as $verdi){ } foreach($array as $key => $verdi{ } noen som kan forklare forskjellen på de 2? Lenke til kommentar
phanti Skrevet 26. april 2005 Del Skrevet 26. april 2005 Følgende er sakset fra dokumentasjonen foreachThe first form loops over the array given by array_expression. On each loop, the value of the current element is assigned to $value and the internal array pointer is advanced by one (so on the next loop, you'll be looking at the next element). The second form does the same thing, except that the current element's key will be assigned to the variable $key on each loop. DET VIL SI, at dersom du trenger navnet på kolonnen, altså 'navn' i ditt tilfelle, så bruker du den siste. Dersom du kun trenger verdien ($value, altså karo eller karlern i ditt tilfelle) så bruker du den første. Skal prøve å komme med et eksempel. array mysql_fetch_row ( resource result )Returns a numerical array that corresponds to the fetched row. Forsøker å gjøre det samme som deg: $sql = "SELECT * FROM server WHERE Navn ='Karo'"; //MERK: dobbelt anførselstegn rundt hele sql-setningen, enkelt anførselstegn rundt verdien. $resultat = mysql_query($query) or die("Could not execute query: " . mysql_error()); //Dersom du har flere rader med Navn = 'Karo', så looper denne gjennom hver eneste en. //Hva mysql_fetch_row() gjør står over. Returnerer altså den enkleste formen for tabell hvor verdien er kolonnene i tabellen, //for hver enkelt rad. echo '<table style="border: 1px solid black;">'; while($rad_variabel = mysql_fetch_row($result)) { echo "<td>" . $rad_variabel[0] . "</td>"; echo "<td>" . $rad_variabel[1] . "</td>"; echo "<td>" . $rad_variabel[2] . "</td>"; //osv, avhengig av hvor mange kolonner du har i tabellen din. } echo "</table>"; Nytt eksempel, mer det du vil ha som output kanskje: $sql = "SELECT * FROM server WHERE Navn ='Karo'"; $resultat = mysql_query($query) or die("Could not execute query: " . mysql_error()); echo '<table style="border: 1px solid black;">'; while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<td>" . $row['Navn'] . "</td>"; echo "<td>" . $row['ID'] . "</td>"; echo "<td>" . $row['bursdag'] . "</td>"; } echo "</table>"; Eller echo "<table border=\1\">"; while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<tr>"; foreach($row as $index => $verdi) { echo " <td>" . $index . " = </td>"; echo " <td>" . $verdi . "</td>"; } echo "</tr>"; } echo "</table>"; Håper du forstår hvordan det fungerer nå! Lenke til kommentar
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å