begin process at 2012 05 31 10:15:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

AU secourrrrrrrrrrrrssssssssss


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AU secourrrrrrrrrrrrssssssssss

mardi 14 février 2006 à 14:09:43 | AU secourrrrrrrrrrrrssssssssss

twixster

Bonjour :

Voila, je vous poste mon code, mais d'abord je vous explique, j'affiche a ubout de chaque ligne( c'est a dire chaque fois qu'on a fait enter dans le texte encode en base de donnée) une checkbox.

Ce qui va pas, il ne m'enregistre jamais ce que je fais, que je les coche ou pas, il s'en fou.
a croire que 0,1,0, et 1,1,0, sont deux valeurs qui tourne en rond car je les ai tout le temps ...

je voudrai donc comme on le vois dans ma variable $listeCoche, noter toute les lignes coché a la suite, comme ceci : 0,1,0,1,0,0,0,1 par exemple.

Mais voila, ca ne fonctionne pas, il garde bien quelque chose mais pas les bonnes valeurs.

Quelqu'un peut il me venir au secour??????????




PHP:
<?php

include("connect.php");
   
$menu = mysql_query("select idinter from intervention
         where statut='In' or statut='En cours' or statut='En attente' or statut='Out'"
       
);

          
$requette="select clienti.nom,
                         ....              
                         intervention.ligne,
                         ....
             from clienti,intervention,machine
             where clienti.idclient=machine.clientid and idmachine=machineid and idinter='"
.$_GET['var']."'";
          
          
$sql = mysql_query($requette) or die('Erreur SQL');
                 
    echo
"<table width=\"100%\" >";

while(list(...   
$ligne, ... ) = mysql_fetch_array($sql)) {

                
?>
<form method="post" name="post" action="miseajourinter.php?varia=<?php echo $idinter?>">  
<?php
  
......
  
if (
$resolution!='')
{
$listeCoche="";
$monTableau=explode("\n", $resolution);
$maListeDeLignesCochees=explode(",", $ligne);
$nb=count($monTableau);
for(
$i=0; $i<$nb; $i++) {
  echo
$monTableau[$i];
  
$checked = "";
  if(
in_array($i, $maListeDeLignesCochees))
  {
   
$checked=' checked="checked"'; // si la ligne est dans la liste, la case sera cochée
     
$lignee=1;
  }else
  {
$lignee=0;}
    
$listeCoche.=$lignee.',';
    echo
'<input type="checkbox" name="ligne" value="'.$i.'" '. $checked.'>';
  echo
'<br>'; // retour à la ligne  
}
  echo
'<input type="hidden" name="line" value='.$listeCoche.' >';
}  
<
center> <input name="submit" type="submit" class="champ" value="Vhasy">   </center></td></tr>
     <?
php   }?>
</form>   </table>
et ou je le receptionne :

PHP:
<?php
  
  
include("connect.php");

mysql_connect("localhost", "root", "");
mysql_select_db("dit");

...
  
$ligne         = $_POST["line"];
...

if(isset(
$_POST['submit']))
{
   
    
$requette="UPDATE intervention SET notetech='$notetech',
               ....
            ligne='$ligne',
               ....            
WHERE idinter='"
.$_GET['varia']."'";

    
$repon = mysql_query($requette) or die('Erreur SQL');

echo
"$ligne + voili voilou ca marche pas ....";

....
mardi 14 février 2006 à 14:17:25 | Re : AU secourrrrrrrrrrrrssssssssss

J_G

Et pourtant... Il, existe un truc teeeeeeeeeeeellement pratique !


dans ton formulaire

<input type="checkbox" name="liste[1]" value="pouet" />
<input type="checkbox" name="liste[2]" value="pouet" />
<input type="checkbox" name="liste[3]" value="pouet" />
<input type="checkbox" name="liste[4]" value="pouet" />
<input type="checkbox" name="liste[5]" value="pouet" />


et après soumission (en imaginant que le type ai coché les 1, 2 et 5 uniquement)

$_POST['liste'] === array(1 => 'pouet', 2 => 'pouet', 5 => 'pouet');



C'est pas beau ?

si-si, je sais...


A+

PS : il faut quand même vérifier que $_POST['liste'] existe et soit un tableau...
mardi 14 février 2006 à 14:25:27 | Re : AU secourrrrrrrrrrrrssssssssss

plopinou


oui mais, mon formulaire, c'est une textarea, donc je stock se texte area dans ma base, et que je l'affiche, j'affiche a la fin de chaque ligne une check box, ici je comprend pas ta liste de checkbox, car je sais po combien y peut y en avoir ...
mardi 14 février 2006 à 14:48:28 | Re : AU secourrrrrrrrrrrrssssssssss

J_G

Une infinité - 1
mardi 14 février 2006 à 15:28:44 | Re : AU secourrrrrrrrrrrrssssssssss

plopinou


je vois pas vraiment ou les declare dans mes fichier php,

je suis debutant, peut tu etre un peu plus claire pour moi si to plaiii
mardi 14 février 2006 à 16:03:25 | Re : AU secourrrrrrrrrrrrssssssssss

J_G

C'est à dire que je n'ai pas très bien compris comment tu utilisais tes checkboxes...

Ce que j'ai compris :

1. dans la base de données, tu concerves la liste des checkboxes déjà cochées. Disons que tu les conserve sous le format mentionné :
$ligne = '0,1,1,0,1,0,1';
Alors tu peux, de cette ligne obtenir un tableau...
$tab = explode(',',$ligne);

2. ensuite, tu souhaite ré-afficher cette liste de checkbox en gardant l'information "elle est cochée ou pas". Bien sur, elle doivent faire partie d'un formulaire
echo '<form action="..." method="POST">';
foreach($tab as $clef => $valeur) {
    if($valeur) $checked = 'checked'; // déjà cochée
    else $checked = ''; // pas cochée
    // j'affiche juste la checkbox "au bout de chaque ligne
    // à toi de mettre le début de la ligne

    echo '<input type="checkbox" name="liste['.$clef.']" value="1" '.$checked.' />';
    // pourquoi "liste['.$clef.']" ? nous le verrons en 4.
}
echo '</form>';



3. Ensuite, l'utilisateur coche ou décoche les case à sa guise, puis envoi le formulaire

4. Tu récupères donc le formulaire dans la variable $_POST. Et c'est là que c'est génial !!!
parceque tu as nommé tes checkboxes "liste[x]", $_POST['liste'] contient un tableau associatif où chaque entrée correspond à une checkbox cochée.
(associatif => les clefs sont des valeurs "aléatoires")
Ainsi,
si $_POST['liste'][2] existe, cela signifie que la checkbox N°2 a été cochée.
si $_POST['liste'][2] n'existe pas, checkbox N°2 n'a pas été cochée.




Comprends-tu mieux les avantages de ce système ?


Oui ? Alors on pousse le truc :
1. Au lieu de stocker une chaine de caractère '0,1,0,1,0' dans
ta base, stock directement la structure de cette variable $_POST['liste'].
$BDD = var_export($_POST['liste],true);
// $BDD = (string) 'array(1=>1,2=>1,5=>1)';

2. tu pourras ensuite très facilement reconstruire ce tableau
eval("\$liste=$BDD;");
$liste est alors ton tableau des checkboxes cochées.
Tu peux ensuite travailler avec...
Mais je te laisse faire la suite.


A+


Cette discussion est classée dans : ligne, php, mysql, echo, checked


Répondre à ce message

Sujets en rapport avec ce message

pret à me jeter par la fenetre (delete mysql) [ par sniperts ] voila je veux supprimer des champs via un formulaire dynamiquele formulaire se charge bien , mais la suppression ne fonctionne pas, qqn peut m aider!v jeu grattage/php/mysql [ par krowers ] voila j'ai un jeu de grattage qui quand j'y joue et que je gagne 0.01 point cela s'ajoute normalement a ma base de donnée tandis que quand je gagne 0 Le filtre ne fonctionne pas [ par Joleroy ] Salut a tous!J ai cree une page appelé Kits.php qu j appelle par Kit.php?tipekit=type_du_kitVoici son code:$type=$_GET['typekit'];$connect = mysql_con passage parametres php [ par Puec ] Bonjour, Je débute en php, et je rencontre un problème.J'ai un formulaire qui contient 2 listes déroulantes contenant dont chacun des items provient d PHP & MySQL ne reconnait pas les aut de ligne (CRLF) [ par Himselff ] Bonjour tout le monde, Une petite base de données MySQL peuplé en VB d'une petite application, je veux afficher les informations de ce programme sur l ajout de colonne en plus d'une fonction mysql_fetch_array en php [ par kappablanca ] Bonjour, je suis actuellement en train de passer mon site internet en php étant donné qu'il faut y mettre à jour des tableau tous les jours.Bon je vou Pas de surbrillance en php ? [ par nougitch ] Bonjour, Impossible de faire un "onmouseover" et un onmouseout" dans mon code php. Ca marche très bien en HTML... Voir la balise en gras. Merci d'a nbr de ligne d'une requete [ par eryk17 ] je voudrai recuperer le resultat d'une requete pour le foutre dans un bouton radio, pour cela il me faut connaitre le nombre de ligne de cette requete Ligne de couleur [ par forchrisw ] je voudrais affichier a l'ecran une lign esur deux comment je peux fairevoici mon code//Pour charger les infos de connection$connect=mysql_connect($ho indexation et défillement [ par toffis ] Bonjour,J'ai un petit probleme avec ce script compte tenu que l'indexation avec LIMIT ne fonctionne pas dans ce cas,je voudrais quand même avoir la po


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales