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 :

Faire apparaître une liste pour modifier une table


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Points : 87
    Points
    87
    Par défaut Faire apparaître une liste pour modifier une table
    Bonjour à tous,

    Le titre n'étant pas très clair, je vais vous expliquer mon problème :

    J'ai fais une requête pour modifier des champs. Afin que tous les champs de modifient, j'appelle dans leurs valeurs "value" le résultat de ma requête :

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><strong>Adresse</strong> <?php echo'<input type="text" name="adresse" id="adresse" size="130" value="'.$donnees['adresse'].'"'; ?></p>
    Les données viennent de la table numéro 1. Jusqu'ici, aucun problème.


    Le soucis se pose pour la suite...

    Dans le même principe, je souhaiterais affiché, mais dans une liste, les valeurs d'une autre table....

    La table 1 contient un champ "ACTIVITE". Pour remplir le champs ACTIVITE, on se sert d'une liste venant de la table 2 contenant toutes les activités.

    Et là, je séche...

    Comment faire apparaître, par défaut, à l'affichage, de ma modification, le résultat de la table 1 et, pour changer ce résultat, faire appel, dans une liste, à la table 2 ? ? ?

    Déjà... Est-ce possible ?

    Merci de vos réponses

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Ce qu'il faut faire c'est dans le chargement de la page tu dois remplir le select par les valeurs de la table 2 puis tu selection la valeur de la table 1 parmi les celle de la table 2 dans le select.
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Points : 87
    Points
    87
    Par défaut Hum... J'ai pas compris !
    Je ne crois pas avoir tout compris...

    Donc, je dois refaire une requête ? Avec la table 2 ? En fait, je crois que je n'ai rien compris !

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Points : 87
    Points
    87
    Par défaut Selected = echec
    Après bien relu ta réponse, j'ai compris ce que tu veux me dire.

    Je sais chercher la liste au chargement, mais je souhaiterais que, par défaut, la liste affiche les résultats de la table. J'ai essayé avec Selected mais rien à faire.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Affiche ton code
    A la recherche d'un film : http://chercher-un-film.com

  6. #6
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Points : 87
    Points
    87
    Par défaut Le code
    Voici donc le code complet de ma page :

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php session_start();
    	require ("auth.php");
    	if (Auth::isLogged()) {
    	}
    	else
    	{
    	header('location:form_connect.php');
    	}
    	?>
     
    	<!DOCTYPE html>
    <html>
        <!-- Lignes de fonctionnement du site -->
    	<head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="../css/style_form.css" />
            <!--[if lt IE 9]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
            <title>Admin</title>		
        </head>
    <?php include("../include/connect.php");
     
    if (is_numeric($_POST['idmodif']))
    { 
    $modif=$_POST['idmodif']; //pour simplifier l'écriture dans l'instruction de la ligne 10
     
     
    echo '<li><a href="../index.php">Accueil</a></li>';
    echo '<li><a href="destroy_sess.php">Se déconnecter</a></li>';
    echo '<h3>Modification d\'un restaurant </h3>';
     ?>
     
    <?php
    $reponse = $bdd->query('SELECT * FROM restos WHERE ID='.$modif.'');
     
    while ($donnees = $reponse->fetch())
    {
     
    ?>	
        <div id="reponse">
    	<h4>Fiche Restaurant</h4>	
    	<div id="ajout">
    	<form class="insert" method="post" action="action_modif.php">
    	<p><strong>ID</strong> <?php echo'<input type="text" name="ID" id="ID" size="2" value="'.$donnees['ID'].'"'; ?></p>
    	<p><strong>Nom</strong> <?php echo'<input type="text" name="nom" id="nom" size="130" value="'.$donnees['nom'].'"'; ?></p>
        <p><strong>Adresse</strong> <?php echo'<input type="text" name="adresse" id="adresse" size="130" value="'.$donnees['adresse'].'"'; ?></p>
    	<p><strong>Téléphone</strong> <?php echo'<input type="text" name="telephone" id="telephone" size="130" value="'.$donnees['telephone'].'"'; ?></p>
    	<p><strong>Horaire</strong> <?php echo'<input type="text" name="horaire" id="horaire" size="130" value="'.$donnees['horaire'].'"'; ?></p>
    	<p><strong>Emporte</strong> <?php echo'<input type="text" name="emporte" id="emporte" size="3" value="'.$donnees['emporte'].'"'; ?></p>
    	<p><strong>Livre</strong> <?php echo'<input type="text" name="livre" id="livre" size="3" value="'.$donnees['livre'].'"'; ?></p>
    	<p><strong>Activite 1</strong> <?php echo'<input type="text" name="spe1" id="spe1" size="130" value="'.$donnees['spe1'].'"'; ?></p>
    	<p><strong>Activite 2</strong> <?php echo'<input type="text" name="spe2" id="spe2" size="130" value="'.$donnees['spe2'].'"'; ?></p>
    	<p><strong>Activite 3</strong> <?php echo'<input type="text" name="spe3" id="spe3" size="130" value="'.$donnees['spe3'].'"'; ?></p>
    	<p><strong>Activite 4</strong> <?php echo'<input type="text" name="spe4" id="spe4" size="130" value="'.$donnees['spe4'].'"'; ?></p>	
    	<P><input class="submit" type="submit" value="Valider les modifications" /></p>
    	</div>
    	</form>
     
     
    <?php
    }
     
    $reponse->closeCursor(); ?>
     
     
    <?php
    }
    else
    {
    echo 'Merci de rentrer un nombre';
    }
    ?>
    La page renvoie donc les données existantes sur la bade données par restaurant. Le problème se pose aux champs "Activites" appelés respectivement Spe1 Spe2 Spe3 Spe4.

    Lors de la création, ces activités sont appelées à partir d'une autre table, la table activité et sont listés :

    Code de la page création :

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php include("../include/connect.php");?>
    <li><a href="../index.php">Accueil</a></li>
    <li><a href="destroy_sess.php">Se déconnecter</a></li>
     
    <div id="ajout">
    <form class="insert" method="post" action="verif_ajout.php">
    	<p><label for="nom">Nom du restaurant</label> :<br/> <input type="text" name="nom" id="nom" size="60" /></p>
    	<p><label for="adresse">Adresse du restaurant</label> :<br/> <input type="text" name="adresse" id="adresse" size="100"/></p>
    	<p><label for="telephone">Téléphone du restaurant</label> :<br /> <input type="text" name="telephone" id="telephone" size="60"/></p>
    	<p><label for="horaire">Horaire du restaurant</label> :<br /> <input type="text" name="horaire" id="horaire" size="100"/></p>
    	<p><label for="emporte">Prestation "A emporter" </label> :<br /> <input type="text" name="emporte" id="emporte" size="3"/></p>
    	<p><label for="livre">Prestation "A livre" </label> :<br /> <input type="text" name="livre" id="livre" size="3"/></p>
     
    <p>
    <label for="spe1">Activite n°1</label><br />
    <select name="spe1" id="spe1">
    <option value="v">--</option>
    <?php
    $reponse = $bdd->query('SELECT * FROM activite ORDER BY activite');
    while ($choix = $reponse->fetch()){
    ?>
    <?php echo '<option value="'.$choix['activite'].'">'.$choix['activite'].'</option>';               
    } ?>
    </select>
    </p>
     
    <p>
    <label for="spe2">Activite n°2</label><br />
    <select name="spe2" id="spe2">
    <option value="v">--</option>
    <?php
    $reponse = $bdd->query('SELECT * FROM activite ORDER BY activite');
    while ($choix = $reponse->fetch()){
    ?>
    <?php echo '<option value="'.$choix['activite'].'">'.$choix['activite'].'</option>';               
    } ?>
    </select>
    </p>
     
    <p>
    <label for="spe3">Activite n°3</label><br />
    <select name="spe3" id="spe3">
    <option value="v">--</option>
    <?php
    $reponse = $bdd->query('SELECT * FROM activite ORDER BY activite');
    while ($choix = $reponse->fetch()){
    ?>
    <?php echo '<option value="'.$choix['activite'].'">'.$choix['activite'].'</option>';               
    } ?>
    </select>
    </p>
     
    <p>
    <label for="spe4">Activite n°4</label><br />
    <select name="spe4" id="spe4">
    <option value="v">--</option>
    <?php
    $reponse = $bdd->query('SELECT * FROM activite ORDER BY activite');
    while ($choix = $reponse->fetch()){
    ?>
    <?php echo '<option value="'.$choix['activite'].'">'.$choix['activite'].'</option>';               
    } ?>
    </select>
    </p>
     
    <?php	$reponse->closeCursor();
    ?>
    			<p>
    			<input class="submit" type="submit" value="Envoyer" />
    			<input type="reset" value="Remise à zéro" />
    			</p>
    	</form>
    	</div>
    Je souhaiterai que, dans le premier code, celui de la modification, apparaissent au chargement de la page, dans une liste, l'activité crée à l'origine de la création du restaurant et, en cas de modification, les différentes activités soient listées dans la liste comme dans la page de création.

Discussions similaires

  1. trie d'une liste pour différencier des tables
    Par ifsera dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 28/08/2010, 14h58
  2. Réponses: 8
    Dernier message: 10/12/2009, 16h53
  3. [AJAX] liste liée a une liste liée a une liste
    Par dirty_harry dans le forum AJAX
    Réponses: 2
    Dernier message: 03/07/2009, 11h18
  4. modifier une liste contenue dans une liste
    Par harris_macken dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 18/03/2008, 16h52
  5. Réponses: 4
    Dernier message: 03/05/2007, 20h27

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