erreur ds mon scripte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur ds mon scripte

par Invité » 07 avr. 2006, 14:22

ok désole voila mon code
<?php
include "connect.php";	
//je selection ma qtcolc pour fair un tableau avec un nombre de ligne=qtcolc

$query="SELECT QTCOLC FROM LCO where NULGLC='$nulglc' and  NUCOLC='$nucoco'" ;
		$result = ora_parse($cursor, $query);
		$result = ora_exec ($cursor);		
$erow = (Ora_Fetch_Into ($cursor, $values));
$QTCOLC = $values[0];
echo ("<br><br>N° DE Commande : ".$nucoco);
echo ("<br><br>N° DE Ligne de Command :".$nulglc);
echo("<br><br>Quantite:".$QTCOLC);
?>  
 <html>
<head>
<title></title>
</head>

<body bgcolor="#9999FF">

<form action="invent.php" method="post" >
<input name="nucoco" type="hidden" value="<? print($nucoco); ?>">
<input name="nulglc" type="hidden" value="<? print($nulglc); ?>">
<input name="QTCOLC" type="text" value="<? print($QTCOLC); ?>" >

<table border="1">
<tr>
<td>NUMERO_MATERIEL</td>
<td>NUMERO_INVENTAIRE</td>
<td>DATE DE LIVRAISON</td>
<td>SERVICE DE MAINT</td>
<td>UF LOCALISATION</td>
<td>Site_E_ou_V</td>
<td>BATIMENT</td>
<td>ETAGE</td>
<td>PIECE</td>
<td>LIBELE LIBRE</td>
		
<? for($i=1;$i<=$QTCOLC;++$i) 
{ print("<tr><td>".$i."</td><td>"); ?> 
<input type="hidden" name="<? print("NUMERO_MATERIEL".$i); ?>"id="<? print("NUMERO_MATERIEL".$i); ?>" value="<? print($i); ?>" >
<input  type="text" name="<? print("NUMERO_INVENTAIRE".$i); ?>"  id="<? print("NUMERO_INVENTAIRE".$i); ?>" 

value="<? $sql="select NUMERO_INVENTAIRE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 

					$result = ora_parse($cursor, $sql);
					$result = ora_exec ($cursor);
					Ora_Fetch_Into ($cursor, ${"NUMERO_INVENTAIRE".$i});
					if (isset(${"NUMERO_INVENTAIRE".$i}[0]))
						{	print (${"NUMERO_INVENTAIRE".$i}[0]);} ?> "/> 
						</td> 
<td><input type="text" name="<? print("DATE_DE_LIVRAISON".$i); ?>"	id="<? print("DATE_DE_LIVRAISON".$i); ?>"
value="<? $sql="select to_char(DATE_LIVRAISON, 'dd/mm/yyyy') from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'";
					$result = ora_parse($cursor, $sql);
					$result = ora_exec ($cursor);
					Ora_Fetch_Into ($cursor, ${"DATE_DE_LIVRAISON".$i});
					if (isset(${"DATE_DE_LIVRAISON".$i}[0])){
					print (${"DATE_DE_LIVRAISON".$i}[0]);}?>" />
					 </td>
					
<td><select  name=="<? print("SERVICE_DE_MAINT".$i); ?>" 	id="<? print("SERVICE_DE_MAINT".$i); ?>"
value="<? $sql="select SERVICE_MAINTENANCE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 
						$result = ora_parse($cursor, $sql);
						$result = ora_exec ($cursor);
						Ora_Fetch_Into ($cursor, ${"SERVICE_DE_MAINT".$i});
						if (isset(${"SERVICE_DE_MAINT".$i}[0]))
						{print (${"SERVICE_DE_MAINT".$i}[0]);}
						 ?> "/> 
						 <option>I</option>
						  <option>B</option>
						   <option>T</option>
								</select></td>						 
<td><input  name="<? print("UF_LOCALISATION".$i); ?>" 	id="<? print("UF_LOCALISATION".$i); ?>"		
value="<? $sql="select UF_LOCALISATION from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 	$result = ora_parse($cursor, $sql);
							$result = ora_exec ($cursor);
							Ora_Fetch_Into ($cursor, ${"UF_LOCALISATION".$i});
							if (isset(${"UF_LOCALISATION".$i}[0])){
							print (${"UF_LOCALISATION".$i}[0]);}
							 ?> "/> 
							 </td>
<td><select  name="<? print("Site_E_ou_V".$i); ?>" 		id="<? print("Site_E_ou_V".$i); ?>"	
value="<? $sql="select SITE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'";
								$result = ora_parse($cursor, $sql);
								$result = ora_exec ($cursor);
								Ora_Fetch_Into ($cursor, ${"Site_E_ou_V".$i});
								if (isset(${"Site_E_ou_V".$i}[0]))
								{print (${"Site_E_ou_V".$i}[0]);}
								 ?> "/> 
								  <option>Evreux</option>
								  <option>Vernon</option>
								</select></td>
<td><input type="text" name="<? print("BATIMENT".$i); ?>" 			id="<? print("BATIMENT".$i); ?>"	
value="<? $sql="select BATIMENT from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 
								$result = ora_parse($cursor, $sql);
								$result = ora_exec ($cursor);
								Ora_Fetch_Into ($cursor, ${"BATIMENT".$i});
								if (isset(${"BATIMENT".$i}[0]))
								{
								print (${"BATIMENT".$i}[0]);}
								 ?> "/>
								 </td>

<td><input type="text" name="<? print("ETAGE".$i); ?>" 				id="<? print("ETAGE".$i); ?>"	
value="<? $sql="select ETAGE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 
								
								$result = ora_parse($cursor, $sql);
								$result = ora_exec ($cursor);
								Ora_Fetch_Into ($cursor, ${"ETAGE".$i});
								if (isset(${"ETAGE".$i}[0]))
								{
								print (${"ETAGE".$i}[0]);}
								 ?> "/> 
								 </td>
<td><input type="text" name="<? print("PIECE".$i); ?>" 				id="<? print("PIECE".$i); ?>"	

value="<? $sql="select PIECE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 
									
									$result = ora_parse($cursor, $sql);
									$result = ora_exec ($cursor);
									Ora_Fetch_Into ($cursor, ${"PIECE".$i});
									if (isset(${"PIECE".$i}[0]))
									{
									print (${"PIECE".$i}[0]);}
									 ?> "/>
									  </td>

<td><input type="text" name="<? print("LIBELE_LIBRE".$i); ?>" 		id="<? print("LIBELE_LIBRE".$i); ?>"	
value="<? $sql="select COMMENTAIRE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 
									
									$result = ora_parse($cursor, $sql);
									$result = ora_exec ($cursor);
									Ora_Fetch_Into ($cursor, ${"LIBELE_LIBRE".$i});
									if (isset(${"LIBELE_LIBRE".$i}[0]))
									{
									print (${"LIBELE_LIBRE".$i}[0]);}
									 ?> "/> </td></tr>

<? }   ?> 


 
  <input name="valider" type="submit" value="valider"> 
  
  </form> </table>
  
//page invent.php
<? 
  for($i=1;$i<=$QTCOLC;++$i){
  		if ( 			
			(${"NUMERO_INVENTAIRE".$i}!="") &&
			(${"DATE_DE_LIVRAISON".$i}!="") &&
			(${"SERVICE_DE_MAINT".$i}!="") &&
			(${"UF_LOCALISATION".$i}!="") &&
			(${"Site_E_ou_V".$i}!="") &&
			(${"BATIMENT".$i}!="") &&
			(${"ETAGE".$i}!="") &&
			(${"PIECE".$i}!="") &&
			(${"LIBELE_LIBRE".$i}!="")
			 )
{
print("<br>"); 
print("$QTCOLC");
$miseajour ="update INVENTAIRE set  
 NUMERO_INVENTAIRE = '${"NUMERO_INVENTAIRE".$i}', 
  DATE_LIVRAISON = '${"DATE_DE_LIVRAISON".$i}',
  SERVICE_MAINTENANCE='${"SERVICE_DE_MAINT".$i}', 
  UF_LOCALISATION = '${"UF_LOCALISATION".$i}', 
  SITE= '${"Site_E_ou_V".$i}',
  BATIMENT='${"BATIMENT".$i}', 
  ETAGE='${"ETAGE".$i}', 
  PIECE='${"PIECE".$i}', 
  COMMENTAIRE= '${"LIBELE_LIBRE".$i}' 
 where 
 NUMERO_COMMANDE='$nucoco' and
 NUMERO_LIGNECOMMANDE='$nulglc'";
$result = ora_parse($cursor,$miseajour);
$result = ora_exec ($cursor);
ora_commit($ora_conn);

}
else {
	
 
 $ssql="INSERT INTO INVENTAIRE 
 (NUMERO_COMMANDE,
  NUMERO_LIGNECOMMANDE, 
  NUMERO_MATERIEL, 
  NUMERO_INVENTAIRE, 
  DATE_LIVRAISON, 
  SERVICE_MAINTENANCE, 
  UF_LOCALISATION, 
  SITE,
  BATIMENT, 
  ETAGE, 
  PIECE, 
  COMMENTAIRE) 
 VALUES (
 '$nucoco',
 '$nulglc',
 '${"NUMERO_MATERIEL".$i}',
 '${"NUMERO_INVENTAIRE".$i}',
 '${"DATE_DE_LIVRAISON".$i}',
 '${"SERVICE_DE_MAINT".$i}',
 '${"UF_LOCALISATION".$i}',
 '${"Site_E_ou_V".$i}', 
 '${"BATIMENT".$i}',
 '${"ETAGE".$i}',
 '${"PIECE".$i}',
 '${"LIBELE_LIBRE".$i}')";
	$result = ora_parse($cursor, $ssql);
	$result = ora_exec ($cursor);
ora_commit($ora_conn);}
	}
	?>	
	
  <?php
	

// Se déconnecter de la base
ora_logoff($ora_conn);
?> 

par Cyrano » 07 avr. 2006, 14:14

Dis, ça te dérangerait de pas donner juste des bouts de réponses ? Je m'amuserai pas à scroller la page pour faire le lien entre deux parties d'un même code, envoie le code complet.

par Invité » 07 avr. 2006, 13:33

query="SELECT QTCOLC FROM LCO where NULGLC='$nulglc' and  NUCOLC='$nucoco'" ;
		$result = ora_parse($cursor, $query);
		$result = ora_exec ($cursor);		
$erow = (Ora_Fetch_Into ($cursor, $values));
$QTCOLC = $values[0];


<? for($i=1;$i<=$QTCOLC;++$i) 
{ print("<tr><td>".$i."</td><td>"); ?> 

par Cyrano » 07 avr. 2006, 12:55

le code montré est incomplet : à quoi correspond $i ?

par Invité » 07 avr. 2006, 11:21

voila comment j'envoie chaque valeur
<input  type="text" name="<? print("NUMERO_INVENTAIRE".$i); ?>" 

value="<? $sql1="select NUMERO_INVENTAIRE from inventaire where NUMERO_COMMANDE = '$nucoco'and NUMERO_LIGNECOMMANDE= '$nulglc' and 
NUMERO_MATERIEL ='$i'"; 

					$result = ora_parse($cursor, $sql1);
					$result = ora_exec ($cursor);
					Ora_Fetch_Into ($cursor, ${"NUMERO_INVENTAIRE".$i});
					if (isset(${"NUMERO_INVENTAIRE".$i}[0]))
						{	print (${"NUMERO_INVENTAIRE".$i}[0]);} ?> "/> 
						</td> 

par Cyrano » 06 avr. 2006, 20:31

puisque tu reçois un tableau, il faut récupérer chaque valeur par son index :
$variable = $tableau['index'];
Comme je ne sais pas comment tu envoies les données, je ne peux pas vraiment te donner davantage de détails. :-k

par Invité » 06 avr. 2006, 17:06

Alors en fait comment pour récupéré la valeur de chaque champs stp :cry:

par Cyrano » 06 avr. 2006, 16:52

À première vue, tu n'affectes pas les bonnes variables dans ta requête : tu envoes des tableaux (Array) or certains chmaps dans ta table sont de type numériques, ils reçoivent une chaine de caractère : tu te fais donc jeter, c'est logique.

J'ai pas suivi tout le sujet en détail, mais vérifie du coté de la construction de ta requête et des variables utilisées.

par Invité » 06 avr. 2006, 15:59

	echo $miseajour; 
update INVENTAIRE set NUMERO_INVENTAIRE = 'Array', DATE_LIVRAISON = 'Array', SERVICE_MAINTENANCE ='Array', UF_LOCALISATION = 'Array', SITE= 'Array', BATIMENT='Array', ETAGE='Array', PIECE='Array', COMMENTAIRE= 'Array' where NUMERO_COMMANDE='213672' and NUMERO_LIGNECOMMANDE='1' and NUMERO_MATERIEL='1'select COMMENTAIRE from inventaire where NUMERO_COMMANDE = '213672'and NUMERO_LIGNECOMMANDE= '1' and NUMERO_MATERIEL ='1' 

par Ryle » 06 avr. 2006, 15:52

rien !!!!!!!!!!!!!
rien ne passe au niveau de la basse de donneé oracle
Et cela t'empêche d'afficher les requêtes et de les poster ici ?
echo $miseajour;
echo $sql;
non par ce que tout mes champ sont de type varchar alor c pas possible :(
no comment...

par Invité » 06 avr. 2006, 15:48

rien !!!!!!!!!!!!!
rien ne passe au niveau de la basse de donneé oracle

par zeus » 06 avr. 2006, 15:46

Je t'ai pas demandé si tu avais exécuté les requetes mais si tu les avait affichées

Je veux juste voir ce qui est envoyé à Oracle

par Invité » 06 avr. 2006, 15:45

non par ce que tout mes champ sont de type varchar alor c pas possible :(

par Ryle » 06 avr. 2006, 15:41

Et est ce que tu as essayé de corriger en fonction du message d'erreur ? :)
a non-numeric character was found where a numeric was expected
Un caractère non numéric a été trouvé alors qu'un caractère numérique était attendu...

Vu que tu as collé des apostrophes autour de toutes tes valeurs, ils seront tous considérés comme des chaines de caractères... du coup si en base, c'est un nombre qui est entendu, ça plante... Aller comme ça a vue de nez tous tes champs NUMERO_ quelque chose sont en cause ;)

MySql tolère les apostrophes sur les numériques et gère la conversion lorsque l'on se trompe, mais à ma connaissance, c'est bien seul qui le fasse. Et c'est de toute façon une très mauvaise habitude à perdre d'urgence :)

par Invité » 06 avr. 2006, 15:31

oui et voila l'erreur que j'ai
Warning: Ora_Exec failed (ORA-01858: a non-numeric character was found where a numeric was expected -- while processing OCI function OEXEC/OEXN) in c:\program files\easyphp1-8\www\invent.php on line 179