[PHP & SQL] Toujours besoin de vous - Caca inside !

Toujours besoin de vous - Caca inside ! [PHP & SQL] - PHP - Programmation

Marsh Posté le 29-10-2002 à 23:32:57    

Bonjour,
 
Voilà, j'ai ma table :
 
--------------
| Type | Num |
|------|-----|
|   C   |   1  |
|   C   |   2  |
|   D   |   1  |
|   C   |   3  |
|   C   |   4  |
|   D   |   2  |
|   C   |   5  |
|   C   |   6  |
--------------
 
Je voulais savoir comment obtenir avec une requête la dernière valeur entré dans "Num" pour un "Type" défini ?
 
Je m'explique :
 
Je veux sortir ma dernière entrée pour le Type "D", la requête doit donc m'afficher "2".
Si je le fais pour le Type "C", la requête doit m'afficher "6".
 
J'espère que j'ai été assez clair, sinon, dites le moi, je vous donnerai plus de détails.
 
Merci d'avance pour l'aide...


Message édité par thenab le 29-10-2002 à 23:53:55

---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 29-10-2002 à 23:32:57   

Reply

Marsh Posté le 29-10-2002 à 23:33:30    

select max(num) where type='truc' ?

Reply

Marsh Posté le 29-10-2002 à 23:34:20    

lorill a écrit a écrit :

select max(num) where type='truc' ?




 
Sérieux, c'est aussi con ?


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 29-10-2002 à 23:35:32    

Thenab a écrit a écrit :

 
 
Sérieux, c'est aussi con ?




ben euh, oui  ;)

Reply

Marsh Posté le 29-10-2002 à 23:42:10    

J'ai rentré :
 

Code :
  1. sql="SELECT MAX(num) FROM documents WHERE type='$type'";
  2. $result=mysql_query($sql);


 
Et il me sort :
 
Parse error: parse error, unexpected '=' in c:\...\reservation.php on line 28 (ligne où il y a sql=...) ?
 
C'est quoi ce bordel, j'ai pas fait d'erreur je crois ?


Message édité par thenab le 29-10-2002 à 23:43:06

---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 29-10-2002 à 23:45:29    

Thenab a écrit a écrit :

J'ai rentré :
 

Code :
  1. sql="SELECT MAX(num) FROM documents WHERE type='$type'";
  2. $result=mysql_query($sql);


 
Et il me sort :
 
Parse error: parse error, unexpected '=' in c:\...\reservation.php on line 28 (ligne où il y a sql=...) ?
 
C'est quoi ce bordel, j'ai pas fait d'erreur je crois ?




 
Putaing, je suis crevé, j'ai juste oublié le $ !!!
 
Enfin, ça n'empêche qu'il me sort pas le bon chiffre...


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 29-10-2002 à 23:53:03    

Que dois-je mettre pour afficher le résultat de ma requête ?
 
$resultat=mysql_fetch_array($result) ??
$resultat=mysql_result($result) ??
 
HELP PLEASE !!


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 29-10-2002 à 23:55:01    

Thenab a écrit a écrit :

Que dois-je mettre pour afficher le résultat de ma requête ?
 
$resultat=mysql_fetch_array($result) ??
$resultat=mysql_result($result) ??
 
HELP PLEASE !!




 
tu débutes ?  
faudrait penser a lire les docs, on va pas s'amuser a les recopier non plus...

Reply

Marsh Posté le 30-10-2002 à 00:00:11    

lorill a écrit a écrit :

 
 
tu débutes ?  
faudrait penser a lire les docs, on va pas s'amuser a les recopier non plus...




 
Je débute pas...
 
C'est juste que c'est la première fois que j'utilise MAX()...
 
Il renvoie le résultat de la valeur maximale de mon tableau.
Donc la logique serait de mettre mysql_result($result) mais ça marche pas, et je t'avoue que j'ai lu des trucs, mais je ne trouve pas... et comme j'ai envie de me coucher, j'aimerai que tu m'aides, c'est tout :D


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 30-10-2002 à 00:02:33    

Thenab a écrit a écrit :

 
C'est juste que c'est la première fois que j'utilise MAX()...




Ben du point de vue php, ca change rien a ton code habituel. Sauf que ta structure aura qu'une seule ligne, mais le reste est identique.
 
Et pour ce qui est d'aider, ca fait plus d'un an que j'ai pas touché a php, et j'ai la flemme de googler la dessus a ta place.

Reply

Marsh Posté le 30-10-2002 à 00:02:33   

Reply

Marsh Posté le 30-10-2002 à 00:05:01    

$res = mysql_query("ta requête" );
$row = mysql_fetch_array($res);


 
Ta valeur est dans $row[0].


Message édité par sielfried le 30-10-2002 à 00:05:12

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 30-10-2002 à 00:05:25    

Thenab a écrit a écrit :

 
 
Je débute pas...
 
C'est juste que c'est la première fois que j'utilise MAX()...
 
Il renvoie le résultat de la valeur maximale de mon tableau.
Donc la logique serait de mettre mysql_result($result) mais ça marche pas, et je t'avoue que j'ai lu des trucs, mais je ne trouve pas... et comme j'ai envie de me coucher, j'aimerai que tu m'aides, c'est tout :D



Ben le max(colone) te retourne une seule valeur mais du côté de php, c'est exactement comme quand tu fais les autres requêtes.
Si t'as besoin d'un nom pour récupérer le résultat au niveau php, le mieux, c'est que tu rajoutes un alias (nom de remplacement) ans ta requête ca donera :
 
select max(num) nom where type='truc'

Reply

Marsh Posté le 30-10-2002 à 00:06:39    

Merci quand même...
 
Je vais googlonner alors...  :D


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 30-10-2002 à 00:08:51    

Par rapport à ta question de départ, la solution donnée par lorill n'est juste que si, en prenant C pour exemple, à chaque nouveau C, Num s'incrémente aussi de 1 (ce qui semble être le cas).
 
Car si on avait un truc du genre...
C - 1
C - 6
D - 5
C - 4
D - 3
 
... ce serait plus compliqué, et la meilleure solution serait je pense d'ajouter un champ en autoincrement.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 30-10-2002 à 00:09:22    

Thenab a écrit a écrit :

Merci quand même...
 
Je vais googlonner alors...  :D  




 
Je pense t'avoir répondu 4 posts plus haut.


Message édité par sielfried le 30-10-2002 à 00:09:36

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 30-10-2002 à 00:13:07    

Sielfried a écrit a écrit :

 
 
Je pense t'avoir répondu 4 posts plus haut.




 
Ah ouais, ça marche !! J'avais pas vu ta réponse, ni celle d'omega d'ailleurs...
 
Merci beaucoup, tout marche niquel !! Je vais me coucher !!
 
A+.


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 30-10-2002 à 00:24:58    

Thenab a écrit a écrit :

 
 
Ah ouais, ça marche !! J'avais pas vu ta réponse, ni celle d'omega d'ailleurs...
 
Merci beaucoup, tout marche niquel !! Je vais me coucher !!
 
A+.



On poste trop vite, t'as pas le temps de tout lire avant de répondre à ton tour. ;) :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed