Vraag & Antwoord

Webprogrammeren & scripting

[php] database in een array zetten

9 antwoorden
  • Ik heb tig topics hier gelezen en verschillende dingen uitgeprobeerd, maar ik kom er niet uit. Ik krijg geen hele woorden, maar steeds maar 1 letter. Ik weet hoe ik een database kan uitlezen en dingen op het scherm kan zetten, maar hoe zet ik de gegevens nu vanuit een mysql database in een array ? Ik heb bv naam, adres, stad Als de database dat uitleest wil ik dat die dingen achter elkaar in een array komen, dus array[1]=naam, array[2]=adres enz En hoe krijg ik het op het scherm. Als ik namelijk bv $naam[0] doe krijg ik J ipv Jan
  • [url=http://nl3.php.net/mysql_fetch_array]mysql_fetch_array()[/url]? - Bas
  • Ja dat had ik ook al ergens gezien, maar er moet toch wat achter ? Als ik de database uitlees en ik doe dan mysql_fetch_array() dan vraag ik me af hoe ik de waardes op het scherm kan krijgen.
  • In dit soort gevallen is het handig als je de array (die in dit geval wordt geretourneerd door mysql_fetch_array()) even op je scherm te zetten. Gebruik hiervoor bijvoorbeeld onderstaande code:[code:1:5d4cffec62]<!-- hier je normale html --> <pre> <?php print_r($de_gewenste_array); ?> </pre> <!-- rest van je html -->[/code:1:5d4cffec62]Op deze manier zie je altijd lekker snel hoe variabelen in een array zijn opgeslagen. - Bas
  • Okee, dankjewel. :D
  • Even een korte opmerking.. ik zie dat je getallen gebruikt in je array om aan te geven welke kolom je wil opvragen.. ik zou hiervoor gewoon de kolom naam doen, dus $row["address"] of $row["name"]. Op deze manier is je code beter leesbaar en beter onderhoudbaar (wanneer je bijvoorbeeld je query wil aanpassen).
  • O dat is inderdaad een handige manier ja. Zit ik me een partij moeilijk te doen terwijl het zo veel makkelijker kan!. Dankjewel !. :D
  • Wellicht overbodig, maar ik wil hier graag nog even aan toevoegen waarom je steeds maar 1 letter terug kreeg. Het is niet altijd duidelijk, maar net als in bijvoorbeeld C++ is in PHP een string ook een array van karakters. Stel ik definieer deze string:[code:1:4b29f52753]$strFoo = 'computer';[/code:1:4b29f52753]Dan kun je het volgende doen:[code:1:4b29f52753]echo $strFoo[0]; // geeft: c echo $strFoo[5]; // geeft: t[/code:1:4b29f52753]Vaag he? Nog even snel je mysql stukje (wat je zeer waarschijnlijk allemaal zelf wel had uitgevonden):[code:1:4b29f52753]$q = "SELECT `naam`, `adres`, `stad` FROM `adressen`"; $r = mysql_query($q); while ($row = mysql_fetch_assoc($r)) { print_r($row); }[/code:1:4b29f52753]of zoiets. [b:4b29f52753]Let op:[/b:4b29f52753] Ik geef duidelijk de voorkeur aan mysql_fetch_[b:4b29f52753]assoc[/b:4b29f52753] boven mysql_fetch_[b:4b29f52753]array[/b:4b29f52753] omdat de laatste meer geheugen gebruikt, omdat deze twee keer een array terug geeft. In het voorbeeld van hiervoor kun je alleen $row['naam'], $row['adres'] en $row['stad'] gebruiken, maar met mysql_fetch_array krijg je ook $row[0], $row[1] en $row[2] terug, en dat is in de meeste gevallen overbodig. Doe ik dus nooit, maar goed, wat allang bekend is bij programmeren is dat er meer wegen naar Rome leiden. Succes!
  • Het is altijd het proberen waard he. :D Dankjewel voor je toevoeging.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.