Probléme avec php et mysql
lamou23
Messages postés
178
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
salut
j'ai une baser de données serveur contenant les champs(nom_machine,SE);
je voudrais créer une liste déroulante qui récupère les noms de la machine, et suivant le nom qu'on selectionne on affiche le système d'exploitation qui lui correspond(SE).
j'ai le code suivant mais il ne marche pas:
<? include("params.inc.php");/*contient les parametre de connexion*/
$table="serveur";
$connexion = mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
$nomchamp="nom_machine";
$requete = "select $nomchamp from $table";
$resultat = mysql_query($requete, $connexion);
/* affichage du composant HTML */?>
<select name='host_id' value ='je voudrais bien récupérer la valeur de host_id ici' <?if(isset($_POST['host_id']) && $_POST['host_id']=='le numéro de la valeur séléctionnée') {
echo " selected ";}?>>
<?
echo "<option>";
while ($ligne = mysql_fetch_array($resultat))
{
echo "<option>";
echo $ligne[$nomchamp];
}
?>
</select>
<?php
if(isset($_POST['host_id']))
{
$requete = "select $nomchamp from $table where nom_machine=$ligne['host_id']";
$resultat = mysql_query($requete, $connexion);
$nblignes=mysql_num_rows($resultat);
for($i=0; $i < $nblignes; $i++) {
$ligne = mysql_fetch_row($resultat);
echo $ligne[0];
}
}
?>
j'ai une baser de données serveur contenant les champs(nom_machine,SE);
je voudrais créer une liste déroulante qui récupère les noms de la machine, et suivant le nom qu'on selectionne on affiche le système d'exploitation qui lui correspond(SE).
j'ai le code suivant mais il ne marche pas:
<? include("params.inc.php");/*contient les parametre de connexion*/
$table="serveur";
$connexion = mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
$nomchamp="nom_machine";
$requete = "select $nomchamp from $table";
$resultat = mysql_query($requete, $connexion);
/* affichage du composant HTML */?>
<select name='host_id' value ='je voudrais bien récupérer la valeur de host_id ici' <?if(isset($_POST['host_id']) && $_POST['host_id']=='le numéro de la valeur séléctionnée') {
echo " selected ";}?>>
<?
echo "<option>";
while ($ligne = mysql_fetch_array($resultat))
{
echo "<option>";
echo $ligne[$nomchamp];
}
?>
</select>
<?php
if(isset($_POST['host_id']))
{
$requete = "select $nomchamp from $table where nom_machine=$ligne['host_id']";
$resultat = mysql_query($requete, $connexion);
$nblignes=mysql_num_rows($resultat);
for($i=0; $i < $nblignes; $i++) {
$ligne = mysql_fetch_row($resultat);
echo $ligne[0];
}
}
?>
A voir également:
- Probléme avec php et mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
3 réponses
Ajoute un champ id (TINYINT, AUTO_INCREMENT et UNSIGNED) à ta table.
Pour lister les machines :
Dans afficher_se.php :
Pour lister les machines :
<form method="get" action="affiche_se.php"> <p> <?php $pdo = new PDO('mysql:host=localhost;dbname=ta_base','root',''); $sql = 'SELECT * FROM table'; $req = $pdo->query($sql); echo '<select name="id">;' while($machine = $req->fetch()) { echo '<option value="'.$machine['id'].'">'.$machine["nom"].'</option>'; } echo '</select>'; $req->closeCursor(); unset($pdo); ?> </p> <p> <input type="submit" value="Afficher SE" /> </p> </form>
Dans afficher_se.php :
<?php if(isset($_GET['id']) && (int) $_GET['id'] > 0) { $pdo = new PDO('mysql:host=localhost;dbname=ta_base','root',''); $sql = 'SELECT se FROM table WHERE id='.(int) $_GET['id']; $req = $pdo->query($sql); if($req->rowCount() > 0) { $machine = $pdo->fetch(); echo 'Système d\'exploitation : '.$machine['se']; } else { echo 'Machine inexistante.'; } $req->closeCursor(); unset($pdo); } else { echo 'Mauvaise URL.'; } ?>