Array vullen met een database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

TnT -

TnT -

22/08/2005 20:55:00
Quote Anchor link
$smile = DoQuery("SELECT * FROM smilies");
while ($line3 = mysql_fetch_array($smile, MYSQL_ASSOC))
{
$array= $line3;
$maincontent .= $array['afkorting'];

De connectie met de database is er, via een include. ik selecteer de tabel en laat hem echoen via de maincontent. dit doet hij perfect wanneer ik 1 veld heb in de database. dan krijg ik ook de goede waarde terug alleen wanneer er meerdere waardes in de tabel staan van de database, gaat het niet meer goed dan heb ik een heel leeg veld, ik heb dan ook geen andere content meer. er komt ook geen foutmelding. wie weet wat ik fout doe
 
PHP hulp

PHP hulp

27/12/2024 15:55:14
 

23/08/2005 23:29:00
Quote Anchor link
DoQuery? hmmz, van wat is dat als ik vragen mag? een query iets gebaseerd op SQL? of is dat een mssql query cmd ofzo..
 
Remco van Arkelen

Remco van Arkelen

24/08/2005 06:29:00
Quote Anchor link
$array= $line3;

Je zal nu dus steeds $array overschrijven met de laatste resultset. Als je daadwerkelijk het array wilt opslaan kun je het volgende doen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$qrySmile
= "SELECT * FROM smilies";
if( !$resSmile = mysql_query($qrySmile) )
{

  echo 'Query mislukt :'.mysql_error();
}

else
{
  // Variabele declareren
  $maincontent = '';
  while( $rs = mysql_fetch_assoc($resSmile) )
  {
  
    $array[] = $rs;
    $maincontent .= $rs['afkorting'];
  }


  // Alle resultsets zitten nu in $array
  // Doe bijv. een print_r($array);

}
?>
 
Jan Koehoorn

Jan Koehoorn

24/08/2005 08:33:00
Quote Anchor link
Dat kan toch veel compacter?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
  $sql
= "select * from smilies";
  $res = mysql_query ($sql) or die ('Query mislukt');

  while ($row = mysql_fetch_array ($res)) {
    $maincontent .= $row[afkorting];
  }


  print_r ($maincontent);
?>
 
Jelmer -

Jelmer -

24/08/2005 08:37:00
Quote Anchor link
$maincontent .= $row[afkorting];
dat is een string bijvullen, maar zelf wil je hem een array maken, gezien de print_r:
$maincontent[] = $row[afkorting];

en om het dan helemaal af te maken en af te zijn van een notice, zet je bovenaan $maincontent = array();.
Gewijzigd op 24/08/2005 08:38:00 door Jelmer -
 
Remco van Arkelen

Remco van Arkelen

24/08/2005 15:38:00
Quote Anchor link
TS doet hier 2 dingen, nl. het concateneren van een string ($maincontent) en daarnaast het opslaan van alle ge-"fetchte" gegevens in een array (dus $line3 steeds opslaan in $array). Dit laatste gaat sowieso fout omdat TS de variabele nu telkens zou overschrijven. In mijn post licht ik dit toe.

Jan, ondanks dat jouw notatie korter is, laat jij je site halverwege gewoon stoppen als er een query mislukt? De error-handling met die() is mijn inziens niet de netste.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.