Php/pg_admin: pb de concaténation - INSERT

Résolu/Fermé
Omalpha Messages postés 5 Date d'inscription mercredi 8 décembre 2010 Statut Membre Dernière intervention 9 mai 2011 - 8 déc. 2010 à 16:30
 mary - 18 oct. 2013 à 16:24
Bonjour,

Je viens vers vous ayant un pb en php.
...Je reste bloqué sur une erreur de concaténation dans une requête....que je n'arrive pas à résoudre...et pourtant je suis sur qu'elle est sous mon nez !

Il s'agit d'un INSERT INTO de 2 colones, avec des valeurs particulière récupérées dans un $_POST.

Mais ces valeurs sont elles-mêmes des cases de tableaux...ce qui en écriture...est pour moi...un peu complexe.

voila donc mon code. Je ne vous donne que la ligne de la requête.

$sql="INSERT INTO controleurs (contnom,contpresta) VALUES (".$_POST["'controleur[".$champmax"]'"]"",".$_POST"[""'contnum[".$champmax"]']")" ;



J'ai donc suite à ce code...:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ']' in....

Mais vu comme je me suis embrouillé dans ces concaténation.... = logique ! ^^

Merci a vous de m'aider au plus vite !

Et longue vie à la communauté web !

A voir également:

5 réponses

Lord Zero Messages postés 459 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2018 115
8 déc. 2010 à 16:38
oh la...
on peux avoir le tableau en plus stp
0
Omalpha Messages postés 5 Date d'inscription mercredi 8 décembre 2010 Statut Membre Dernière intervention 9 mai 2011
8 déc. 2010 à 16:46
$champmax=addchamp(1);
$champorigine=rows_cont();


sont des indices du tableau retuourné grâce à deux "function" en javascript.


voici, encore une fois, qu'un petit bout de code pour vous aider à mieux comprendre :


<?	

$i=0;
	foreach($wctrl as $key=>$value)
	{  
		$i++;
		
?>	   
	   	
	   <TR>
	   <TD id="td<?=$i?>"> 
	   <input  type="text" id="idctrl<?=$i?>" name="controleur[<?=$i?>]" height="80" size="80%" maxlength="500" readonly  value="<?=$value?>">
	<input type="hidden" name="contnum[<?=$i?>]" value="<?=$key?>">
     
	</TD>
	<TD width="70" align="center">
	<a href="javascript:supcntrl(<?=$key?>,'<?=$value?>');"><img width="20" src="images/commun/delete_0.gif" onmouseover="javascript:btnimg(this,'_0','_1')" onmouseout="javascript:btnimg(this,'_1','_0')" ></a>&nbsp;
		   
	<a href="javascript:editchamp(<?=$i?>,<?=$key?>,'<?=$value?>');"><img width="20" src="images/commun/edit_0.gif" onmouseover="javascript:btnimg(this,'_0','_1')" onmouseout="javascript:btnimg(this,'_1','_0')" ></a>
	</TD>
		
	</TR>

<? } ?>	




Les valeurs en gras sont les deux valeurs à allez chercher dans le _POST.

....dite moi si j'en demande trop...mon pb est peut être trop...conséquent...
merci de m'avoir répondu en tout cas !!^^
0
Lord Zero Messages postés 459 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2018 115
8 déc. 2010 à 16:50
et pourquoi tu récupère pas tout simplement tes valeurs comme ceci:
("'.$_POST['controleur'].'","'.$_POST['contnum'].'")
0
Omalpha Messages postés 5 Date d'inscription mercredi 8 décembre 2010 Statut Membre Dernière intervention 9 mai 2011
Modifié par Omalpha le 8/12/2010 à 17:04
voici une image pour que tu comprennes mieux :

[url=https://www.casimages.com/i/101208050352449898.jpg.html][/url]

va voir ! c'est l'interface du site sur le quelle je bosse !
j'ai mis des commentaires pour que tu suives.....^^

et ce qui suis c'est le traitement de la partis vos controleurs !

merci merci merci


//****************** traitement table controleurs ***************  
   
  $wctrl=array_combine($_POST['contnum'],$_POST['controleur']); 
   
   
   
  while (($wrecctrl=pg_fetch_assoc($rs)) and (!$werr)) 
  {    
  
   if($wctrl[$wrecctrl['contnum']]!=$wrecctrl['contnom']) 
   {  
     
    $sql="update controleurs set contnom='".$wctrl[$wrecctrl['contnum']]."' where contnum=".$wrecctrl['contnum']; 
     
    $result_query=pg_query($cn,$sql); 
    if ($result_query) 
    { 
     $nb_ligne=pg_affected_rows($result_query); 
     if ($nb_ligne==1) 
     { 
       $mess="Modification effectuée avec succès"; 
      $wclass='messnorm'; 
     }  
     else 
     { 
      $mess="Aucune modification n'a été effectuée"; 
      $wclass='messerr'; 
      $werr=true; 
     } 
    } 
    else 
    { 
      $mess="Erreur ".pg_last_error($cn); 
     $wclass='messerr'; 
     $werr=true; 
    }   
   } 
  
   } 
    
   
  $champmax=addchamp(1); 
  $champorigine=rows_cont(); 
   
  if($champmax>$champorigine) 
  { 
    
    $sql="INSERT INTO controleurs (contnom,contpresta) VALUES (".$_POST["'controleur[".$champmax"]'"]"",".$_POST"[""'contnum[".$champmax"]']")" ; 
    $result_query=pg_query($cn,$sql); 
     
    if ($result_query) 
    { 
     $mess="Modification effectuée avec succès"; 
     $wclass='messnorm'; 
    } 
    else 
    { 
      $mess="Aucune modification n'a été effectuée"; 
     $wclass='messerr'; 
     $werr=true; 
    } 
     
  }  
   
}  


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Omalpha Messages postés 5 Date d'inscription mercredi 8 décembre 2010 Statut Membre Dernière intervention 9 mai 2011
9 déc. 2010 à 09:55
bon ben j'ai fini par trouver la solution....pb de logique orienté objet !!
Merci quand même.....^^
-1
partage ta solution
0