Page 1 sur 1

erreur Resource id #4

Posté : 05 janv. 2006, 22:26
par CoiKispiCs
Déjà bonsoir et bonne année à toute la communauté phpfrance

voilà j'ai un souci dans mon code

je réalise un formulaire, bon là c'est une phase de test ce n'est pas la version aboutie (heureusement :lol:)

le problème est sur la page formulaire2.php

formulaire.php :
<?
include('config.php');
?>
<FORM METHOD="post" ACTION="formulaire2.php">
<TABLE ALIGN="center">
<tr>
	<td>Num&eacute;ro de lot :</td>
	<td><SELECT NAME="lot">
		<OPTION SELECTED value="1">Choisir</OPTION>
		<?
						
			$sql = "SELECT CodeLot FROM lots ORDER BY CodeLot";	
			$result = mysql_query($sql);
			while ($r = mysql_fetch_array($result)) {
  				$valeur = $r['CodeLot'];
  				echo "<option value='$valeur'>".$valeur;
  			}	
  		?>
		
		</select></td>
</tr>
<tr>
	<td>Date renseign&eacute;e :</td>
	<td>
		<input TYPE="text" size="23" name="date" value="De la forme JJ-MM-AAAA">
	</td>
</tr>
<tr>
    <td colspan="2" align="center"><input type="submit" value="Valider"></td>
</tr>
</TABLE>
</FORM>

formulaire2.php :
<?php
include('config.php');



extract($_POST);


echo $lot;

echo "<br>";
echo "<br>";

$sql = "SELECT datedernieresaisie FROM lots WHERE CodeLot='$lot'";
$result2 = mysql_query($sql);

echo $result2;

echo "<br>";
			
while ($row = msql_fetch_array($result2)){
	echo $row['CodeLot'];
}
			
?>

les deux echo qui servent a rien c pour voir si les données passe bien
la variable $lot passe bien pourtant

voilà ce que j'obtient

Image


merci d'avance

Posté : 05 janv. 2006, 23:00
par Cyrano
L'image que tu as mis en lien est illisible, peux-tu nous faire un copié/collé du message d'erreur qu'on ne fait que deviner ?

Posté : 05 janv. 2006, 23:08
par CoiKispiCs
oki pardon :oops: :oops:

voilà ce que je vois

Code : Tout sélectionner

418711 Resource id #4 Warning: msql_fetch_array(): supplied resource is not a valid mSQL result resource in C:\Program Files\xampp\htdocs\iris\formulaire2.php on line 21
ps : j'ai refais le lien de l'image

Posté : 06 janv. 2006, 00:36
par iclo
Ta requête sql qui n'est pas bonne.
$sql = "SELECT datedernieresaisie FROM lots WHERE CodeLot=".$lot;
si code lot n'est pas une chaine de caractère
$sql = "SELECT datedernieresaisie FROM lots WHERE CodeLot=\"".$lot."\"";
si code lot est une chaine de caractère

Posté : 06 janv. 2006, 10:12
par CoiKispiCs
merci de répondre aussi vite

j'avais tester toute les solution par rapport au ' ou au "

donc j'avais essayé la méthode que tu donnes et ça marche toujours pas :cry:

Posté : 06 janv. 2006, 10:17
par Cyrano
Fais l'essai suivant : ajoute une ligne dans ton code:
echo($sql);
Fais afficher ta page, copie la requête générée et teste la directement dans phpMyAdmin : tu auras un message de retour plus explicite.

Posté : 06 janv. 2006, 10:26
par CoiKispiCs
je l'ai testé, ça ma rendu une requête qui marche sous mysql, c'est louche non ?

le truc c'est que ça doit me rendre une date de type aaaa-mm-jj

ça pourrait venir de là ?

Posté : 06 janv. 2006, 10:32
par Cyrano
Curieux. Comme j'imagine que ton code a évolué depuis le départ, remets-nous donc le code depuis la ligne définissant la requête SQL jusqu'aux lignes qui sont sensées faire afficher les données.

Posté : 06 janv. 2006, 10:36
par CoiKispiCs
<?php
include('config.php');



echo $lot;

extract($_POST);

echo "<br>";
echo "<br>";

$sql = "SELECT datedernieresaisie FROM lots WHERE CodeLot=\"".$lot."\"";
$result2 = mysql_query($sql, $connect) or die("ça déconne a mort : ".mysql_error());

echo($sql);

echo "<br>";

echo $result2;

echo "<br>";
			
while ($row = msql_fetch_array($result2)){
	echo $row['CodeLot'];
}
?>
toujours formulaire2.php


edit : et CodeLot est une nombre a 6 chiffres

Posté : 06 janv. 2006, 10:40
par jeff
salut
msql_fetch_array($result2)
tu utilise une fonction msql au lieu d'une fonction mysql
mysql_fetch_array($result2)

Posté : 06 janv. 2006, 10:43
par CoiKispiCs
merci ça m'enleve un message d'erreur par rapport au mysql_fetch_array

mais j'ai toujours le resource id #4 :cry:



EDIT : j'ai trouvé la soluce c'était bien dans le fetch array

mais c t dans le echo que ça déconnais mauvaise solution :
echo $row['CodeLot'];
au lieu de ça
echo $row['datedernieresaisie'];

Posté : 06 janv. 2006, 10:47
par jeff
le ressource id #4 vient de
echo $result2;
c'est un message normal
de plus dans ta requete tu recupere que

Code : Tout sélectionner

datedernieresaisie
alors que tu essaye d'affiché
$row['CodeLot']
ca ne peut pas fonctionner
tu afficher que ce qu tu a selectionner dans ton cas
$row['datedernieresaisie']

Posté : 06 janv. 2006, 10:49
par CoiKispiCs
lol j'ai fait un édit juste avant que tu post j'avais trouvé la soluce ^^

merci a vous de vous êtes penché sur mon probleme

@ bientot


un petit résolu ^^

Posté : 06 janv. 2006, 11:49
par albat
Salut les copains,

J'arrive sans doute un peu après la bataille, mais si
CodeLot est une nombre a 6 chiffres
alors
$sql = "SELECT datedernieresaisie FROM lots WHERE CodeLot=".$lot;
suffit. ;)