IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Modifier plusieurs enregistrements en une seule fois


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Par défaut Modifier plusieurs enregistrements en une seule fois
    Bonjour à Tous,
    J'aimerais afficher une liste de plusieurs enregistrements puis en modifier certains et modifier la base avec les nouvelles données.
    Donc, actuellement j'arrive à afficher les enregistrements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $sql="SELECT * FROM controle_backup  WHERE Date_Jour = Current_Date() ORDER BY Tri ASC";
    $resultat = mysql_query($sql);
    echo "<table width=90% align=center border=2>";
    While($controle_backup = mysql_fetch_array($resultat))
    		{
    $Date_Jour = $controle_backup['Date_Jour'];
    $Messages = $controle_backup['Messages'];
    $Erreurs = $controle_backup['Erreurs'];
    $Controle = $controle_backup['Controle'];
    $Description = $controle_backup['Description'];
     
    echo "<tr>";
    echo "<td>$Messages</td>";
    echo "<td>$Erreurs</td>";
    echo "<td>$Controle</td>";
    echo "<td>$Description</td>";
    echo "</tr>";
    Mais une fois affichés, je ne trouve pas la solution pour modifier cetains champs de plusieurs enregistrements et faire l'update de la base.
    Si quelqu'un à une idée, je suis preneur

    Bonne journée à tous
    Claude

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    Quelques pistes (car ce que tu désires réaliser est assez long à expliquer, s'il faut un certain niveau de détails)
    - Dans ta page qui affiche tes données de ta db, faire un formulaire (form)
    - y mettre un bouton submit (input type submit)
    - y mettre tes données sous un format éditable (input type text).
    - mettre un nom de fichier dans l'action de ton formulaire.
    - dans ce fichier, écrire tout le processus d'écriture des données dans la db.

    Ta demande est on ne peut plus conventionnelle. En cherchant dans les tutoriaux, je suis certain que tu trouveras ton bonheur. Il suffit de chercher un peu.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    set_time_limit(0);
    //RAJOUTER UNE OPTION QUI PERMET DE NOTER QUE LE RENOMMEUR DE TITRE N EST PAS EFFICACE SUR CE TITRE
    //RAJOUTER UNE OPTION QUI TANSFERE UN TITRE SANS AUTEUR POUR RECHERCHE EVENTUELLE
     
    include('mysql.inc.php');
    $query="SELECT * FROM t_toto WHERE verif=0 ORDER BY id ASC LIMIT 0 , 50";  //A CHANGER AFFICHER SELON LE TITRE PERMET DE VOIR PLUS VIOTE DOUBLON
    $result=mysql_query($query) or die('Problème oups mon petit chat!');
     
    	if (mysql_num_rows($result)>0)
    	{
    		echo '<table border=1>';
    		echo
    			'<tr bgcolor="#808080" align="center">
    			
    			<td width=30><b>Artiste - Titre</b></td>
    			<td><b>Auteur</b></td>
    			<td><b>Titre</b></td>						
    			<td><b>OK</b></td>	
    			<td><b>Del</b></td>
    			<td><b>BPM</b></td>
    			<td><b>Id</b></td>			
    		
    			</tr>';
    			$rang=0;
    		echo "<form action='valid.php' method='post'>";
     
    			while($row = mysql_fetch_row($result))
    			{
    				$titre1=$row[1];
     
    				include('manipchaine.php');
    				$rang=$rang+1;
    				if(!isset($titre)){$titre="NA";}
    				if(!isset($auteur)){$auteur="NA";}
    				if($row[3]==0){echo '<tr>';} else {echo '<tr bgcolor=green>';}
    				echo '<td align="left"><small>'.$row[1].'</small></td>';
    				echo "<td align='left'><INPUT TYPE='text' NAME='auteur_".$rang."' VALUE='".stripslashes($auteur)."' SIZE='40'></td>";
    				echo "<td align='center'><INPUT TYPE='text' NAME='titree_".$rang."' VALUE='".htmlentities($titre)."' SIZE='50'></td>";				
    				echo '<td bgcolor=green align="center"><INPUT TYPE="checkbox" name="ok_'.$rang.'" value="1" /></td>';
    				echo '<td bgcolor=red align="center"><INPUT TYPE="checkbox" name="del_'.$rang.'" value="2" /></td>';
    				echo "<td align='center'><INPUT TYPE='text' READONLY='true' NAME='bpm_".$rang."' VALUE='$row[2]' SIZE='5'></td>";
    				echo "<td align='center'><INPUT TYPE='text' READONLY='true' NAME='id_".$rang."' VALUE='$row[0]' SIZE='4'></td>";				
    				echo '</tr>';
    			}			
    		echo "<br/>Nombre de titre: <INPUT TYPE='text' NAME='nbrtitre' VALUE='$rang' SIZE='20'>";
    		echo "<br/>Nom du donateur: <INPUT TYPE='text' NAME='donateur' VALUE='dj julien' SIZE='20'>";
    		echo "<br/>Parrain: <INPUT TYPE='text' NAME='parrain' VALUE='No' SIZE='20'>";		
    		echo '<input type="submit" name="Soumission" value="    OK    ">';
    		echo '</form>';	
    		echo '</table>';	
     
    	}
    	else
    	{
    	echo "Plus de titre !";
    	}
     
    ?>
    Je bosse avec ce petit script quie j'ai concu en ce moment alors cadeau

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Par défaut
    Bonjour à tous,
    En premier, merci à Ouach et U115rcu pour avoir répondu.
    Bien que ayant apris pas mal de choses ces derniers temps, mon problème de MAJ des données persiste.
    Je suis arrivé à modifier la base pour un enregistrement à la fois, mais pour plusieurs, rien à faire. J'ai bien essayé de trouver la solution tout seul (forums sur les forms, recherche sur le net, essai répetés avec des echo pour voir les résultats) mais là, franchemant, je sais plus...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
       echo "<form action='Enregistre2.php' method='post'>";
       	echo "<table width=90% align=center border=2>";
       	$Rang=0;
    	While($controle_backup = mysql_fetch_row($resultat)) 
    	{
    		$Rang=$Rang+1;
    			If ($controle_backup[0] != $Date_Jour_Save)
    			{
    				$Date_Jour_Save = $controle_backup[0]; 
    				echo "<tr>";
    				echo "<td><b>$controle_backup[0]</b></td>";
    				echo "</tr>";
    			}
    		echo "<tr>";
    		echo "<input type='hidden' name='Dat' value='$controle_backup[0]'/>";
    		echo "<input type='hidden' name='Rang' value='$Rang'/>";
    		echo "<td>$controle_backup[2]</td>";
    		echo "<td><Input Type='text' name='Err".$Rang."' value='$controle_backup[3]' size='5'></td>";
    		echo "<td><Input Type='text' name='Ctlr".$Rang."' value='$controle_backup[4]' size='1'></td>";
    		echo "<td>$controle_backup[5]</td>";
    		echo "</tr>";
    	}
    	echo "<input type='submit' value=' Modifier '/>";
    	echo "</table>";
    	echo "</form>";
    et encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       	While($controle_backup = mysql_fetch_row($resultat)) 
    	{
    	$sql="UPDATE controle_backup SET Erreurs = '$Err[Rang]', Controle = '$Ctlr[Rang]' WHERE Date_Jour = '$Dat' AND Tri = '$Rang'"; 	mysql_query($sql);
    	}
    Si vous avez une idée... Merci

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    En lisant ton code en diagonal, j'ai remarqué que tu avais plusieurs inputs hidden avec le même nom mais avec une value différente (Dat et Rang). Comment ton programme va-t-il faire pour les différencier?

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Par défaut
    Bonjour Ouach,
    Les noms des deux input hidden sont Dat et Rang et les valeurs respectives sont $controle_backup[0] et $Rang ($Rang étant une variable incrémantée) du moins c'est ce que je souhaite faire...
    Et encore, j'envoie ces valeurs à l'autre programme parce-que je ne sais pas encore faire mieux. mais ca va venir.
    Bonne journée

Discussions similaires

  1. [AC-2010] Formulaire : Créer plusieurs enregistrements en une seule fois !
    Par Doudou-Galak dans le forum IHM
    Réponses: 9
    Dernier message: 21/10/2016, 09h10
  2. [WD-2010] Modifier plusieurs champs en une seule fois
    Par Sebc1686 dans le forum Word
    Réponses: 5
    Dernier message: 12/03/2013, 09h44
  3. Réponses: 1
    Dernier message: 12/03/2008, 21h44
  4. Logiciel modifiant plusieurs .htm en une seule fois
    Par jorisvh dans le forum Autres
    Réponses: 4
    Dernier message: 21/10/2006, 20h48
  5. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo