Toon posts:

PHP var in query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel ik heb id's van 0 tot 15,

maar ik heb maar tot id#12 de dir's ingevuld want de andere 3 foto reportages moeten nog komen.

Dan bepaald de functie hieronder dus aan de hand van max(id) dat de hoogste id waar de variable dir ingevuld is in de db 12 is.

Ik wil 9 reportages in mijn archief hebben.

Dan moet hij dus vanaf max(id), in dit geval 12, - 9 is record 4 tot 12 weergeven.

Dus records > 3 (12-9)

Nu heb ik hiervoor het onderste stukje :
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
 
  $sql1 = " SELECT max(id) from agenda where dir != '' ";  
  $waarde = mysql_query($sql1); 
  $max_id = mysql_fetch_object($waarde); 

  $sql = "SELECT * FROM agenda WHERE dir != '' 
      AND id > ( //hoe zet ik hier nu waarde max(id) neer - 9 //) 
      ORDER BY id";  
?> 
?>

Hoe kan ik deze query werkend maken?

Verwijderd

Zo lijkt me :) (je kunt max(id) beter even een andere naam geven.
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
 
  $sql1 = " SELECT max(id) AS maximum from agenda where dir != '' ";  
  $waarde = mysql_query($sql1); 
  $max_id = mysql_fetch_object($waarde); 

  $sql = "SELECT * FROM agenda WHERE dir != '' 
      AND id > (" . $max_id->maximum. ") 
      ORDER BY id";  
?> 
?>

Verwijderd

Topicstarter
Op vrijdag 30 november 2001 14:09 schreef Zef het volgende:
Zo lijkt me :) (je kunt max(id) beter even een andere naam geven.
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
 
  $sql1 = " SELECT max(id) AS maximum from agenda where dir != '' ";  
  $waarde = mysql_query($sql1); 
  $max_id = mysql_fetch_object($waarde); 

  $sql = "SELECT * FROM agenda WHERE dir != '' 
      AND id > (" . $max_id->maximum. ") 
      ORDER BY id";  
?> 
?>
waar staat die . $max_id->maximum. voor?
en kan dat dan ook zo:
(" . $max_id->maximum. - 9") ???

Verwijderd

Op vrijdag 30 november 2001 14:14 schreef Ketje het volgende:

[..]

waar staat die . $max_id->maximum. voor?
Jij kiest ervoor om het resultaat van de eerste query in een object te zetten, vind ik best. Dan moet je het dus met $max_id->veldnaam doen. Als je "SELECT xx AS nieuwenaam FROM ..." gebruikt, kun je xx aanspreken als "nieuwenaam" (da's gewoon standaard sql). Kortom, nu bevat $max_id->maximum de maximum waarde :)
en kan dat dan ook zo:
(" . $max_id->maximum. - 9") ???
Nee, je begrijpt waarschijnlijk niet goed wat ik hier doe. Ik onderbreek de string even ("blabla".$varnaam."blabla" voegt immers de waarde van $varnaam tussen de twee strings in) om de waarde van $max_id->maximum in te voegen. Wat wel kan is
(" . ($max_ix->maximum - 9). ")

Verwijderd

Topicstarter
Op vrijdag 30 november 2001 14:18 schreef Zef het volgende:

Nee, je begrijpt waarschijnlijk niet goed wat ik hier doe. Ik onderbreek de string even ("blabla".$varnaam."blabla" voegt immers de waarde van $varnaam tussen de twee strings in) om de waarde van $max_id->maximum in te voegen. Wat wel kan is
(" . ($max_ix->maximum - 9). ")
Bedoelde ik ook
snapte alleen die . . in de aanroep van $max_id niet maar goed..
zou jij het anders programeren dan?
ik heb max(id) maar 1 keer nodig dus...

Verwijderd

Het zou misschien met een subquery kunnen, maar dat weet ik niet zeker
code:
1
AND id > ( SELECT max(id) from agenda where dir != '')

Verder gebruik ik mysql_fetch_array, maar goed dat zijn details :)

Verwijderd

Topicstarter
Thanx a lot its working !!!!!
Pagina: 1