Tableau, select et bdd

Petit nouveau ! | 4 Messages

25 juil. 2010, 21:06

Bonsoir,

je souhaite mettre en place un panel administratif.

Ce panel existe sous forme de tableau, comprenant différentes colonnes, et où chaque ligne = 1 client. Les colonnes correspondent donc aux informations personnelles du client, qu'il aura bien voulu transmettre.

Ce tableau (panel administratif) doit me permettre de gérer mes clients. Ainsi, la dernière colonne du tableau s'intitule: Status. Cette colonne me sert à savoir où j'en suis avec tel, ou tel client.

Ainsi, dans cette colonne il y a un champ 'select' qui contient les 3 options suivantes: 'off' ; 'on' ; 'over'.

Mon problème est là.

Je souhaiterai pouvoir sélectionner l'option de mon choix, puis, valider via le bouton submit 'Enregistrer les modifications'; et que l'information soit enregistré dans la bdd, à la ligne du client concernée. Ainsi, lorsque je rafraichirai la page, je verrai la modification de status effectuée sur le client concerné.

Or, je ne sais pas comment m'y prendre.

Voici le code du tableau:
while ($data = mysql_fetch_array($req))
    {
	echo'<div id="tableau2">';
	echo '<table class="contenu">';
	echo '<tr>';
    echo '<td class="contenu">'.$data['nom'].'</td>';
    echo '<td class="contenu">'.$data['prenom'].'</td>';
    echo '<td class="contenu">'.$data['telephone'].'</td>';
    echo '<td class="mail">'.$data['email'].'</td>';
	echo '<td class="region">'.$data['region'].'</td>';
	echo '<td class="ville">'.$data['ville'].'</td>';
	echo '<td class="status"><FORM METHOD="POST" ACTION="modifs.php" ENCTYPE="x-www-form-urlencoded">
	<select name="status" style="position:relative;left:25px;width:100px;font-family:calibri;font-size:12px;font-style: bold;margin-right:50px;color:white;border:none">
<option value="off" style="background:#CC0000">Off</option>
<option value="on" style="background:#009900">On</option>
<option value="over" style="background:#000000">Over</option>
</select>
</td>';

	echo '</tr>';
	echo '</table>';
	echo '</div>';
	}
	echo '<INPUT type="submit" class="bouton" value="Enregistrer les modifications">';
	echo '</form>';

Puis, voici le code de la page modifs.php
<?php
if(isset($_POST['status']))      $status=$_POST['status'];
else      $status="";

       // connexion à la base
$db = mysql_connect('*.1and1.fr', '*', '*')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('*',$db)  or die('Erreur de selection '.mysql_error());
    
    // on écrit la requête sql
    $sql = "INSERT INTO *_* (status) VALUES('$status')";
	
    
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on affiche le résultat pour le visiteur
    echo '<span class="textephp2">Les modifications ont bien été effectuées.</span>';

    mysql_close();  // on ferme la connexion
    
?>
Comme vous pouvez le constater, je ne sais pas comment faire..

Si quelqu'un pouvait m'éclairer, ce serait une grande joie.

Merci à tous.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 juil. 2010, 11:18

Si tu veux mettre à jour une ligne déjà existante ce sera une requête UPDATE et non INSERT, avec dans le WHERE l'id du client que tu traites.