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 :

modification bdd + select bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Points : 74
    Points
    74
    Par défaut modification bdd + select bdd
    Salut,
    j'ai une page php qui me donne les informations, stockés sur une bdd d'une entreprise .
    Sur cette même page une checkbox permet à l'utilisateur de selectionner les entreprise dont il voudrais modifier les informations.
    Une fois que l'utilisateur demande la modification (qu'il clique sur le bouton modifer) une autre page php recupere l'id des entreprises selectionnés et affiche les infos de celles-ci dans des input (pour pouvoir etre modifié).
    Dans ces information se trouve la ville de l'entreprise qui est affiché par un select option(html).
    Pour afficher toute les ville présentent dans la bdd j'ai crée une nouvelle requette me permetant de récuperer toute les ville existante de la bdd. Et la je ne comprend pas car seule la ville initialle de l'entreprise est selectionnable.

    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
    <?php
    if(!empty($_POST['entreprise_modif'])){
     
    	//connection à la base de données
    	include('../connection_bd.php');
     
    	//Modification de l'entreprise
    	foreach($_POST['entreprise_modif'] as $entreprise_modif){
     
    		$sql = "select 	entreprise.ID_ENTREPRISE,
    						entreprise.NOMENTREPRISE, 
    						entreprise.ADRESSEENTREPRISE,
    						ville.VILLE,	
    						pays.PAYS,
    						entreprise.TELEPHONE, 
    						entreprise.SITE_INTERNET
    						from ((entreprise left outer join 	ville on entreprise.ID_VILLE = ville.ID_VILLE) left outer join 
    											pays on ville.ID_PAYS = pays.ID_PAYS) left outer join
    											contacts ON contacts.ID_ENTREPRISE = entreprise.ID_ENTREPRISE
    					where entreprise.ID_ENTREPRISE = '".$entreprise_modif."'";
     
    		//execution de la requette
    		$resultat = mysql_query($sql) or die('erreur SQL' .$sql.'<br/> .mysql_error();');
     
    		echo 	'<table border="1">
    				<caption>Modification d\'entreprise</caption>
    					<tr> 
    						<th>Entreprise </th>
    						<th>Adresse </th>
    						<th>Ville </th>
    						<th>Telephone Standard </th>
    						<th>Site internet </th>
    					</tr>';
     
    					// on va scanner tous les tuples un par un  
    					while ($data = mysql_fetch_array($resultat, MYSQL_ASSOC)) { 
     
    					// on affiche les résultats 
    					echo'<tr> 
    							<td><input type="text" name="Entreprise" value="'.$data['NOMENTREPRISE'].'"/></td>
    							<td><input type="text" name="AdresseEntreprise" value="'.$data['ADRESSEENTREPRISE'].'"/></td>
    							<td>
    								<SELECT name="Ville">';
    								$sql1 = "SELECT ville.ID_VILLE, ville.VILLE, pays.ID_PAYS, pays.PAYS 
    										FROM ville join pays on ville.ID_PAYS = pays.ID_PAYS ORDER BY VILLE ASC";
    								$resultat1 = mysql_query($sql) or die('erreur SQL' .$sql. '<br/> .mysql_error();');				
    								while ($row = mysql_fetch_array($resultat1, MYSQL_ASSOC)){ 
    									$id_ville = $row['ID_VILLE'];
    									$ville = $row['VILLE'];
    									echo "<option value='".$id_ville."'>'".$ville."'</option>"; 
    								}
    							echo'
    							</SELECT>
    							</td>
    							<td><input type="text" name="Telephone" value="'.$data['TELEPHONE'].'"/></td>
    							<td><input type="text" name="SiteInternet" value="'.$data['SITE_INTERNET'].'"/></td>
    						</tr>';
     
    					}
    	}
    	//fermeture de la connection
    	mysql_close();
     
    }
    else{
    	echo'Erreur';
    }
    ?>
    Quelq'un aurait-il une idée?

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut,
    as tu des erreurs ?
    Combien de tuple te renvoie tes requètes ? --> renvoient-elles les bonnes données ?
    Ton fichier généré est-il confirme ? (chaque balise html ouverte est bien fermée...)

    Z.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Points : 74
    Points
    74
    Par défaut suite
    Ben justement non je n'ai pas d'erreur j'ai verifié mes balise tout me semble correct de ce côté.

    j'ai essayé de creer une autre connection (une connection avec un autre nom) mais rien y fait le probleme reste le même seul la ville de l'entreprise est selectionnable je ne peur pas choisir une autre ville de la base de donnée.

  4. #4
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Combien de tuples te renvoie ta requete ?
    Si elle n'en revnoie q'un seul, c'est donc celle-ci, ou ta base de données qui va pas.
    Z.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Points : 129
    Points
    129
    Par défaut
    bonjour,

    Trois Choses :

    1- Tu as mis une relation forte entre pays et ville , est tu sur que tu à un code pays associé à chaque enregistrement dans ta table ville ?

    2- Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<option value='".$id_ville."'>'".$ville."'</option>";
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<option value="'.$id_ville.'">'.$ville.'</option>';
    (Sans les quotes simples)

    3 - Je pense qu'a l'origine tu ne veux afficher que les villes du pays de l'entreprise, il te manque donc une clause WHERE dans ta requete de sélection des villes dans le cas contraire , enlève la CLAUSE JOIN qui ne sert à rien

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Points : 74
    Points
    74
    Par défaut ok
    C'est bon j'ai trouvé l'erreur,
    en fait, dans le code suivant, je n'avais pas changé la variable $sql en $sql1 qui contient le résultat de ma nouvelle requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <td>
    <SELECT name="Ville">';
    $sql1 = "SELECT ville.ID_VILLE, ville.VILLE, pays.ID_PAYS, pays.PAYS 
    		FROM ville join pays on ville.ID_PAYS = pays.ID_PAYS ORDER BY VILLE ASC";
    $resultat1 = mysql_query($sql /*erreur car sql est le résultata d'un autre requete*/) or die('erreur SQL' .$sql. '<br/> .mysql_error();');				
    	while ($row = mysql_fetch_array($resultat1, MYSQL_ASSOC)){ 
    	$id_ville = $row['ID_VILLE'];
    	$ville = $row['VILLE'];
    	echo "<option value='".$id_ville."'>'".$ville."'</option>"; 
    	}
    	echo'
    </SELECT>
    </td>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Modif php attribut BDD
    Par masseur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/10/2008, 15h28
  2. jLabel et modification dans une bdd
    Par jbmen dans le forum JBuilder
    Réponses: 1
    Dernier message: 23/04/2008, 00h46
  3. RECUPERATION DE MODIFICATION D'UNE BDD
    Par HellBlood dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/03/2008, 19h36
  4. delete ajout modif dans la BDD
    Par jojojojo57 dans le forum Bases de données
    Réponses: 8
    Dernier message: 19/03/2007, 20h38
  5. Réponses: 27
    Dernier message: 27/11/2006, 09h47

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