PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Tableau, select et bdd » 26-07-2010 20:19:45

D'accord, la clé primaire de ma table est: id.

Aussi, le formulaire d'action devient-il: ACTION="modifs.php?get=id"   ?

Merci de ta réponse.

#2 Forum Général PHP » Tableau, select et bdd » 26-07-2010 20:19:45

Furox
Réponses : 4

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.

#4 Re : Forum Général PHP » Interroger une bdd » 24-03-2010 15:19:49

Je tiens à m'excuser auprès de vous, car c'était non pas lié au PHP, mais au CSS..

#site table{
  position: absolute;
  top: 100px;
  left: 30px;
  border: #393939 2px solid;
}
 

Replaçait systématiquement le contenu du tableau sur la même ligne...

Beaucoup de temps, pour pas grand chose. Comme souvent.

Merci à tous.

#5 Re : Forum Général PHP » Interroger une bdd » 24-03-2010 15:19:49

Oui c'est réellement le code généré, et l'extension est déjà en .php

La table_bdd contient 3 lignes d'enregistrements, pourtant, seule la dernière est appelée (id la plus récente).

Je ne trouve absolument aucune explication, et il semblerait que vous non plus sad

Pour autant, j'imagine qu'il y en a forcément une, que ce n'est pas un "caprice virtuel" smile


Quelqu'un pour résoudre ce mystère ?

#6 Re : Forum Général PHP » Interroger une bdd » 24-03-2010 15:19:49

Merci pour ta réponse xTG.

Je parle bien de la deuxième ligne, et plus, donc des lignes de traitement (récupération des informations de la bdd).

Pour donner un exemple concret, actuellement la table_bdd concernée contient 3 enregistrements, aussi, il devrait apparaître les 3 lignes sur la page. Pourtant, il n'apparait que la dernière (celle ayant l'id la plus récente).

Je vous recopie le code avec le HTML, peut-être y trouverai-vous une réponse. Parce que moi, non sad


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Accès reservé - Haut Conseil</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 8]> <script type="text/javascript" src="css/roundies.js"> </script><![endif]-->
</head>

<body>

<div id="site">
<img src="images/logo.gif" class="logo"/>
<img src="images/logo.gif" class="logo2"/>

<form id="formulaire" name="formulaire" method="post" action="index.php">
  <label>
    <input type="submit" name="button" id="button" class="bouton" value="Sauvegarder les modifications" />
  </label>
    <label>
    <input type="submit" name="button" id="button" class="bouton2" value="Actualiser" />
  </label>

<?php
// on se connecte à MySQL
$db = mysql_connect('*', '*', '*');

// on sélectionne la base
mysql_select_db('*',$db);

// on crée la requête SQL
$sql = 'SELECT * FROM *';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while ($data = mysql_fetch_array($req))
    {
    // on affiche les informations de l'enregistrement en cours
  echo '<table>';
  echo '<tr>';
  echo '<td>Nom</td>';
  echo '<td>Prénom</td>';
  echo '<td>Téléphone</td>';
  echo '<td class="mail">Mail</td>';
  echo '<td>Jours</td>';
  echo '<td>Horaires</td>';
  echo '<td>Id</td>';
  echo '<td>Conseiller</td>';
  echo '<td>Status</td>';
  echo '</tr>';
  echo '</table>';

  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="contenu">'.$data['jours'].'</td>';
    echo '<td class="contenu">'.$data['horaires'].'</td>';
    echo '<td class="contenu">'.$data['identifiant'].'</td>';
    echo '<td class="contenu"><input name="conseiller" type="text" value="'.$data['conseiller'].'" /></input></td>';
    echo '<td class="contenu"><input name="status" type="text" value="'.$data['status'].'" /></input></td>';

  echo '</tr>';
  echo '</table>';
  }
 
 
$conseiller=$_POST['conseiller'];
$status=$_POST['status'];

$sql2="UPDATE acn_partenaires SET conseiller='$conseiller',status='$status' WHERE id='17'";
mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());


// on ferme la connexion à mysql
mysql_close();
?>
</form>
</div>

</body>
</html>


Merci à tous.

#7 Forum Général PHP » Interroger une bdd » 24-03-2010 15:19:49

Furox
Réponses : 8

Bonjour à tous,

mon cas est le suivant: je souhaiterai afficher les informations contenues dans ma bdd, au sein d'un tableau html.

Ainsi, j'ai réalisé le code suivant:


<?php
// on se connecte à MySQL
$db = mysql_connect('****', '****', '****');

// on sélectionne la base
mysql_select_db('****',$db);

// on crée la requête SQL
$sql = 'SELECT * FROM ****';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while ($data = mysql_fetch_array($req))
    {
    // on affiche les informations de l'enregistrement en cours
  echo '<table>';
  echo '<tr>';
  echo '<td>Nom</td>';
  echo '<td>Prénom</td>';
  echo '<td>Téléphone</td>';
  echo '<td class="mail">Mail</td>';
  echo '<td>Jours</td>';
  echo '<td>Horaires</td>';
  echo '<td>Id</td>';
  echo '<td>Conseiller</td>';
  echo '<td>Status</td>';
  echo '</tr>';
  echo '</table>';

  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="contenu">'.$data['jours'].'</td>';
    echo '<td class="contenu">'.$data['horaires'].'</td>';
    echo '<td class="contenu">'.$data['identifiant'].'</td>';
    echo '<td class="contenu"><input name="conseiller" type="text" value="'.$data['conseiller'].'" /></input></td>';
    echo '<td class="contenu"><input name="status" type="text" value="'.$data['status'].'" /></input></td>';

  echo '</tr>';
  echo '</table>';
 
    }

// on ferme la connexion à mysql
mysql_close();
?>
 

Ça fonctionne très bien, seulement, un problème de taille: le script n'affiche que la ligne la plus récente de la bdd (traitement par id), en remplaçant systématiquement la ligne affichée précédemment.

Or, j'aimerai que les lignes soient toutes affichées. Et je ne comprends pas d'où vient le problème.


Si l'un d'entre-vous pouvait m'aider, ce serait une excellente nouvelle smile

Merci à tous.

#8 Forum Général PHP » Image dans champ SQL » 23-10-2009 13:42:32

Furox
Réponses : 2

Bonjour,

je voudrais savoir s'il est possible d'insérer l'adresse url d'une image, dans un champ SQL, et, de faire apparaître cette image en clair sur mon site.. en appelant le contenu du champ ?

Et comment ?


Merci beaucoup,
Furox

#9 Forum Général PHP » Formulaire de contact - vérification » 28-05-2009 16:31:30

Furox
Réponses : 1

Bonjour à tous,

j'ai un formulaire de contact contenant les champs suivants:
- nom
- prenom
- telephone
- email


J'aimerai recevoir toutes ces informations directement dans ma boite mail, voici donc mon code PHP:

<?php
$destinataire = "  x@x.com ";
$objet = "y" ;
$message = $_POST['nom'];

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From:z@b.com\n";


// On envoi l'email
if ( mail($destinataire, $objet, $message, $headers) ) echo "p.";
   else echo "Echec de l'envoi du mail.";
?>

Vous l'aurez compris mon problème concerne cette ligne en particulier:

$message = $_POST['nom'];

Elle ne me permet que de récupérer le champ "nom" dans le contenu de mon message. Comment récupérer les autres ?


Merci à tous,
Furox

Pied de page des forums

Propulsé par FluxBB