J'ai un pb avec la fonction limit en SQL

Fermé
pix - 30 juin 2010 à 14:27
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 - 1 juil. 2010 à 10:12
Bonjour,
j'ai un problème avec ma requête, j'ai ajouter à celle-ci la fonction limit qui m'a été conseiller , sauf que lorsque je l'ai utiliser sa n'as pas fonctionner je l'ai donc inclue dans un second for qui ma afficher mes requête (ce qui n'est pas le but). donc je voulais savoir si quelqu'un pourrait m'aider à résoudre mon problème, s'il vous plaît!

voit ci le code :
$produit=$_POST['produit'];
// dans le tableau de produits (checkbox), il n'y a pas de valeurs nulles. Elles sont éliminées automatiquement.
$quantite = tasser ($_POST['quantite']);
// dans le tableau de quantite(input text), il y a des valeurs nulles. Du coup, les 2 tableaux ne sont pas de le même taille. Il faut donc enlever les valeurs nulles grâce à la fonction tasser.
$connexion = mysql_connect('127.0.0.1','root','');
mysql_select_db ('stocking',$connexion);
for($i=0;$i<count($produit);$i++)
{
$req1="SELECT * FROM palette where ref_produit='".$produit[$i]."'limit '".$quantite."';";
echo"$req1";
if($res1=mysql_query($req1))
{
	while($cols=mysql_fetch_array($res1))
	{
	echo"<tr><td>". $cols['ref_palette']."</td><td>".$cols['emplacement']."</td></tr>";
	}
}
}

je vous en remercie d'avance


1 réponse

Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
30 juin 2010 à 14:33
La question est pourquoi utiliser LIMIT?

Généralement on l'utilise quand on ne souhaite afficher que les derniers résultats par exemples, ou quand on souhaite afficher tous les résultats sur des pages différentes.

Dans ton cas, tu ne cherche pas à faire ça.

Sinon la syntaxe de limit est limite x,y où x est le xème enregistrement(commence à 0) et y le nombre d'enregistrements à afficher.

Donc si tu veux toujours l'utiliser tu dois mettre :

$req1="SELECT * FROM palette where ref_produit='".$produit[$i]."'limit 0,".$quantite;



De plus le ; de la requête n'est pas nécessaire voire génante (à vérifier).
0
merci pour ton aide mais ta solution ne fonctionne pas . merci de m'avoir aider quand meme
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
1 juil. 2010 à 09:07
Quelle erreur affiche ma solution?
0
SELECT * FROM palette where ref_produit='BcL'limit 0,SELECT * FROM palette where ref_produit='br'limit 0,
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
1 juil. 2010 à 10:04
1èrement il faut ajouter un espace avant limit
2ndement, le problème vient de ton $quantité qui n'est pas correctement récupéré. A toi de retravailler la récupération de la variable.

Pour le reste l'utilisation du limit, dans ton cas est bien LIMIT 0,le_nombre_d_enregistrements

Bon courage

;-)
0
merci pour de ton aide
0