Php/pg_admin: pb de concaténation - INSERT

Résolu
Omalpha Messages postés 6 Statut Membre -  
 mary -
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 !

5 réponses

  1. Lord Zero Messages postés 487 Statut Membre 115
     
    oh la...
    on peux avoir le tableau en plus stp
    0
  2. Omalpha Messages postés 6 Statut Membre
     
    $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
  3. Lord Zero Messages postés 487 Statut Membre 115
     
    et pourquoi tu récupère pas tout simplement tes valeurs comme ceci:
    ("'.$_POST['controleur'].'","'.$_POST['contnum'].'")
    0
  4. Omalpha Messages postés 6 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Omalpha Messages postés 6 Statut Membre
     
    bon ben j'ai fini par trouver la solution....pb de logique orienté objet !!
    Merci quand même.....^^
    -1
    1. mary
       
      partage ta solution
      0