Hallo allemaal,

Ik heb een database met productcodes. Deze zijn oplopend van 1-oneindig.
Hoe selecteer ik de maximale productcode (dus het grootste getal) én hoe sla ik die productcode op in een variabele in PHP?

Ik heb nu dit, maar dat werkt niet:


mysql_select_db ('voorraad', $verbinden);
$query = "SELECT MAX (Productcode) FROM voorraad"; 
mysql_query($query);
$buffer = mysql_fetch_object ($query);
$productcode  = $buffer->Prodcuctcode;


Bedankt alvast voor de moeite!
Ik hoop dat die code niet de echte code is?
Want:
- Je hebt geen foutafhandeling, gebruikt altijd foutafhandelingen
- Je kan de query en de uitvoering daarvan beter een aparte variabele geven
- Je kan voor het ophalen van gegevens beter een while loop gebruiken
- Ophalen kan je veel beter doen met mysql_fetch_assoc

En wat 'werkt er niet'? Je computer het script? Wat voor foutmelding? Wat krijg je te zien? Wat staat er in de tabel? Is het wel een int? Enz.?
Ik krijg nu alleen de waarde 0. Maar ik moet een waarde krijgen rond de 20 nu, omdat er 20 producten zijn ingevoerd. Het betreft een int.

Ik moet dus de MAXIMALE waarde uit de Productcode-kolom halen, en vervolgens die MAXIMALE waarde opslaan in een variabele in PHP.


[size=xsmall]Toevoeging op 29/12/2010 12:08:57:[/size]

Het ging om deze code:


mysql_select_db ('voorraad', $verbinden);
		$selectmax = mysql_query("SELECT MAX(Productcode) FROM voorraad");
		
		if (!$selectmax) {
		$melding = ('<p><b>Er is een fout opgetreden: </b>' . mysql_error());
		}
		
		$row = mysql_fetch_array($selectmax, MYSQL_BOTH);
		$productcode = $row[0] + 1;



En dit werkt bij mij ;)
Deze var: $buffer->Prodcuctcode bestaat niet want er zit een typo in en die haal je niet op.

Gebruik AS
SELECT MAX (Productcode) AS maximum FROM voorraad
Dan kan je 'maximum' ophalen.

Reageren