[PHP/MYSQL] Variabele in Query

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Hoe kan ik een variabele in een query gebruiken?

Ik heb het volgende:
PHP:
1
2
3
4
5
6
7
8
9
$vandaag=date("w");
$dag=array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
$dagvandaag = $dag[$vandaag];
$result = mysql_query("SELECT '$dagvandaag' FROM afdeling_producten");
if(mysql_num_rows($result) < 1)
while ($r = mysql_fetch_array($result)){
$aantal = $r[' $dagvandaag '];
echo "$aantal";
}


Maar dit werkt niet. Iemand die weet hoe je een variabele in een query zet ?

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Ja dat weet vast wel iemand hier. Wat werkt er niet aan je code?

Systeem | Strava


  • Noork
  • Registratie: Juni 2001
  • Niet online
code:
1
$result = mysql_query("SELECT '".$dagvandaag."' FROM afdeling_producten");

[ Voor 15% gewijzigd door Noork op 28-04-2004 19:08 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 25-05 17:33
Voor alle duidelijkheid wat heb je zelf uberhaupt al gedaan?

Vars aan Strings koppelen moet zo:
PHP:
1
2
$dagvandaag = $dag[$vandag];
$result = mysql_query('SELECT '. $dagvandaag .' FROM afdeling_producten');


Zoals je ziet moet je de punt gebruiken om strings met variablelen te koppen en anders om. Dit staat trouwens ook goed gedocumenteerd in de PHP manual op www.php.net. Het hoort de de basis elementen van het hele String gebeuren.

[ Voor 11% gewijzigd door Sybr_E-N op 28-04-2004 19:11 . Reden: typo ]


  • Scaror
  • Registratie: September 2003
  • Laatst online: 21-01 14:34

Scaror

Don't watch this!

ViNyL schreef op 28 april 2004 @ 19:01:
Hoe kan ik een variabele in een query gebruiken?

Ik heb het volgende:
{code}

Maar dit werkt niet. Iemand die weet hoe je een variabele in een query zet ?
1. Heb je wel een connectie naar de database gemaakt?
2. $aantal = $r[' $dagvandaag ']; Hierin staan 2 spaties, is dat de bedoeling?
3. Als dit het niet is, vertel eens welke foutmelding je krijgt, of wat het verkeerd doet. Dus ook wat het moet doen.

[ Voor 33% gewijzigd door Scaror op 28-04-2004 19:10 ]


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
// ja connectie met DB is er maar staat niet in de code omdat ik het niet relevant vond.
Nou de variable $dagvandaag is vandaag dus woensdag.

Ik heb een tabel met daarin:

product maandag dinsdag woensdag etc waarbij bij de dag van de week een aantal staat.

Ik wil dus een query hebben die het aantal op haalt per dag.
Dus als morgen de query wordt uitgevooerd dan kijkt ie bij donderdag etc.

Ik heb het nu als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$vandaag=date("w");
$dag=array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
echo " Het is vandaag $dag[$vandaag]<br><br>\n";
$result = mysql_query("SELECT productnaam, '$dag[$vandaag]' FROM afdeling_producten");
if(mysql_num_rows($result) < 1)
{
// geef een melding dat het nummer niet bestaat
echo "Nix gevonden";
}
while ($r = mysql_fetch_array($result)){
$aantal = $r[$dag[$vandaag]];
$productnaam = $r['productnaam'];
echo "$aantal $productnaam";
}
?>


Maar nu krijg ik niet het aantal te zien bij de dag maar de dag zelf :S ?

// connectie met DB is er maar staat niet in de code omdat ik het niet relevant vond.

[ Voor 19% gewijzigd door ViNyL op 28-04-2004 19:11 ]


  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

code:
1
w  -  Numeric representation of the day of the week


Je krijgt van de date functie op dit moment dus het nummer van de dag van de week terug. Aangezien je array begint bij [0] gaat dat dus ook niet kloppen denk ik.

[ Voor 19% gewijzigd door Brakkie op 28-04-2004 19:11 ]

Systeem | Strava


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ja terwijl hij deze query uitvoert

SELECT productnaam. woendag FROM afdeling_producten

Maar kan ik er wel een variabele van maken (van het aantal in de kolom), omdat het iedere keer verandert?

Hmm het schijnt wel te werken nu ik de ' quotes ' rond de variabele in de query verwijdert heb..

[ Voor 21% gewijzigd door ViNyL op 28-04-2004 19:15 ]


  • Noork
  • Registratie: Juni 2001
  • Niet online
ViNyL schreef op 28 april 2004 @ 19:13:
Ja terwijl hij deze query uitvoert

SELECT productnaam. woendag FROM afdeling_producten

Maar kan ik er wel een variabele van maken (van het aantal in de kolom), omdat het iedere keer verandert?

Hmm het schijnt wel te werken nu ik de ' quotes ' rond de variabele in de query verwijdert heb..
Dit is best wel basiskennis van sql hoor. Je gebruikt quote bij char en zonder quotes bij een integer.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 15:34

Pelle

🚴‍♂️

Dit is allemaal redelijk basic SQL en PHP. :)

Meer info:
www.php.net
http://dev.mysql.com/doc/
Pagina: 1

Dit topic is gesloten.