login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Code pakt id dubbel (Opgelost)

Offline prienstra - 05/08/2009 15:47 (laatste wijziging 05/08/2009 15:48)
Avatar van prienstraMySQL interesse Beste mensen,

ben een tijdje met het volgende script bezig:
Plaatscode: 137298

Ben elke nieuw hotel_id, pakt de code het vorige id mee. Ik zie de fout niet meer. Wie kan me een beetje opweg helpen.
Het probleem kan je zien op: deze link.

Onder hotel_id 25 valt enkel Van Dijk en niet Rienstra.

6 antwoorden

Gesponsorde links
Offline floker - 05/08/2009 15:54 (laatste wijziging 05/08/2009 15:56)
Avatar van floker Nieuw lid Uw eerste SQL statement klopt al niet. Indien je een GROUP BY hebt dan mag je in je SELECT enkel dezelfde kolommen hebben als in de GROUP BY. Het moet dus worden :

Plaatscode: 137299

Indien je meer velden op scherm wilt zien dan moet je deze opnemen in SELECT EN in de GROUP BY!

De order by is hier dan ook overbodig
Offline Flex1986 - 05/08/2009 16:01
Avatar van Flex1986 Gouden medaille

Senior Member
@floker dat die queries niet logisch zijn ben ik met je eens maar kun je even een bron geven van je uitleg van GROUP BY want volgens mij klopt het niet echt wat je zegt.
Offline prienstra - 05/08/2009 16:02
Avatar van prienstra MySQL interesse ja dat klopt inderdaad, dat had ik gedaan om te kijken als de volgorde anders is, het probleem er ook is.

Maar dat is niet iets wat het probleem verhelpt.
Offline floker - 05/08/2009 16:06 (laatste wijziging 05/08/2009 16:13)
Avatar van floker Nieuw lid
Flex1986 schreef:
@floker dat die queries niet logisch zijn ben ik met je eens maar kun je even een bron geven van je uitleg van GROUP BY want volgens mij klopt het niet echt wat je zegt.


kijk hier even :
http://www.sql-...l-tutorial/

Helemaal onderaan kan je dit lezen :

When grouping, keep in mind that all columns that appear in your SELECT column list, that are not aggregated (used along with one of the SQL aggregate functions), have to appear in the GROUP BY clause too.

@Prienstra

Ik veronderstel dat het voorbeeld dat je meegeeft het resultaat is van uw eerste echo? Uw hotel_id bestaat dus uit nummer + naam, klopt?

Probeer even wat gebeurt wanneer je dit doet:

$hotel_id = $a['hotel_id'];
$hotel_id1 = $hotel_id;
echo " $hotel_id";
$hotel_id = "";


Nog een kleine opmerking, waar wordt je eerste WHILE gesloten?
Offline prienstra - 05/08/2009 16:42 (laatste wijziging 06/08/2009 09:20)
Avatar van prienstra MySQL interesse ik heb bovenstaand probleem opgelost.
Als ik nu een insert in de database doe op de volgende manier:
  1. $hotel_id = 1;
  2. $maand = date("m") - 1;
  3. $factuur_id = date("Y")."-".(date("m") - 1)."-".$hotel_id;
  4.  
  5. $query1 = mysql_query("INSERT INTO factuur(factuur_nummer) VALUES('$factuur_id');");

Dan krijg ik als factuur_id enkel 2009 is niet de rest.
Offline Mroseboom - 07/08/2009 10:41
Avatar van Mroseboom Lid Nog een tip Mysql kun je instellen dat ie automatisch stelkens id op volgt.
dus als je een product toevoeg dan begint ie bij id1 dan id 2 dan id 3
als je wil weten hoe dit moet t neem efe contact met me op ke?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.175s