problemes, march pour une ligne, mais pas pour plusieurs ...

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 : problemes, march pour une ligne, mais pas pour plusieurs ...

par Invité » 16 févr. 2006, 18:52

arf oui, vais m'enregistrer se sera plus pratique :D

par Maitrepylos » 16 févr. 2006, 18:50

Si un modo pouvais mettre Résolu :lol:

par Invité » 16 févr. 2006, 18:47

oui c'est ca :)

j'y crois pas mes yeux ca marche :D

cent mille MERCI a toi Maitrepylos pour ton aide, ta patiente et tout et tout :)

voici la reponse, ca peut toujours servir :D
$liste=$_POST['liste'];
    $chaine = '';
for ($i = 0; $i <= ($max-1); $i++) {

	if($i==0)
	{	
	if (isset ($liste[$i])) {
   $chaine = '1';
} else {
   $chaine = '0';
}
}

else {


if (isset ($liste[$i])) {
   $chaine .= ',' . '1';
} else {
   $chaine .= ','.'0';
}
}

} 
Encore MERCI Maitrepylos

par Maitrepylos » 16 févr. 2006, 18:34

plus ainsi
for($=0;count($_POST['list']);$I++)
{
echo  $_POST['List'][$i]

}


par Invité » 16 févr. 2006, 17:53

pour le moment je la recupere comme ceci :
foreach($_POST['liste'] as $valeur) 
    {
    
    
    	
    $ligne.= $valeur.",";

 
    }
je devrai faire comme ca alors :
$test = $_POST["list"];
$tab=explode(',',$test);
foreach($tab as $clef => $valeur)
{

presque le meme details que l'autre page ...

}

par Maitrepylos » 16 févr. 2006, 17:51

tu dois récupérer cet élément
echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
dans une deuxième page et faire de nouveau un foreach et de reconstruire un $linecoché et c'est celui-là qui doit renter dans la bd

par Invité » 16 févr. 2006, 17:05

et je fais ca comment?

car ici comme je le fait j'ai que les 1, donc si on image avoir un 1,0,1 y me refera : 1,1 en laissant tombe le 0 .. du coup ca fausse tout ...

par Maitrepylos » 16 févr. 2006, 16:59

Le premier fichier n'afficheras que ce que tu ressors de ta db, si tu veux modifier, il faut récupérer les inputs dans une deuxième page.

par Invité » 16 févr. 2006, 15:58

c'est comme si, il retenait les valeur des case coché et que si on les modifie, il ne les sauve pas ...



au fait je le fais en deux fichier separe, la recuperation de valeur se fait sur le premier ou deuxieme fichier?

le premier = celui qu'on modifie depuis 1 jours, le second celui ou je recupere tout et fais mes requettes ... ,

par Invité » 16 févr. 2006, 15:53

oui, il met sans la derniere , qui possai probleme, mais si je change mes coche en prenant soins d'enleve le $ligne="0,1,0", il ne modifie rien ...

par Maitrepylos » 16 févr. 2006, 15:31

et donc dans la base est-ce que cela modifie?

par Invité » 16 févr. 2006, 15:04

Voila, ceci est ok, il n'y a plus la virgule ne fin de ligne. le valeur de listeCoche est exacte ...



$listeCoche='';	
$ligne = "0,1,0"; 

$tab = explode(',',$ligne); 
if(!empty($resolution)) 
{ 
    $resolution=trim($resolution); 
    $probleme=split("\n",$resolution); 
    $max=count($probleme); 
    $cpt=0; 
    ?> 
        <input type="hidden" name="max" value="<?=$max?>"> 
    <? 
foreach($tab as $clef => $valeur) { 

  if ($clef==0){ 
    
    if($valeur==1) 
    { 
    $checked = 'checked'; 
    $lignee=1; 

    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
    $listeCoche=$lignee; 
      
         
    } 
else { 
            $checked = ''; 
            $lignee=0; 
     

    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
    $listeCoche=$lignee; 
} 



  }
elseif($clef>0)
{
	$listeCoche.=',';
	
if($valeur==1) 
    { 
    $checked = 'checked'; 
    $lignee=1; 

    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
    $listeCoche.=$lignee; 
      
         
    } 
else { 
            $checked = ''; 
            $lignee=0; 
     

    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
    $listeCoche.=$lignee; 
} 


}



} 
echo $listeCoche; 		
echo "<input type=\"hidden\" name=\"line\" value=\"$listeCoche\">";		
}

par Invité » 16 févr. 2006, 13:25

oui,

et je pense que pour arriver a ne plus avoir de virgule a la fin ce que j'ai poste deux poste plus haut doit plus ou moins correspondre ...

ca evite de mettre un virgule quand on a terminer.

par Maitrepylos » 16 févr. 2006, 13:16

As-tu vu mon dernier post?

par Invité » 16 févr. 2006, 13:10

Voila je pensai a ceci, qui normalement devrait le faire correctement, mais j'ai teste, seulement, il ne m'affiche plus qu'une ligne ...
 if ($clef==0){
    if($valeur==1) 
    {
    $checked = 'checked'; 
    $lignee=1; 
 $listeCoche.=$lignee; 
    echo "<input type=\"hidden\" name=\"line\" value=\"$listeCoche\">";  
    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />';
    
    echo "<br>"; 
     
        
    } 
 else{ 
            $checked = ''; 
            $lignee=0; 
    
 $listeCoche.=$lignee; 
    echo "<input type=\"hidden\" name=\"line\" value=\"$listeCoche\">";  
    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
 }
 
   
    }

elseif(($valeur==1)or($valeur==0))
{
	$listeCoche.=',';

 if($valeur==1) 
    {
    $checked = 'checked'; 
    $lignee=1; 
 $listeCoche.=$lignee; 
    echo "<input type=\"hidden\" name=\"line\" value=\"$listeCoche\">";  
    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />';
    
    echo "<br>"; 
     
        
    } 
 else{ 
            $checked = ''; 
            $lignee=0; 
    
 $listeCoche.=$lignee; 
    echo "<input type=\"hidden\" name=\"line\" value=\"$listeCoche\">";  
    echo "$probleme[$clef]"; 
    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />'; 
    echo "<br>"; 
 }

}