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 :

extraire une ligne mysql à l'aide d'un $_get [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut extraire une ligne mysql à l'aide d'un $_get
    Bonjour, voila j'ai un petit soucis
    Je veux recupérer la valeur qui est dans mon adresse http://localhost/site/archivearticle.php?id=15
    et que ça affiche directement la ligne de la table sql correspondant le soucis c que l'id fait partit de la table commande et ici je veux trier la table article
    Merci de votre aide
    Voici mon code:
    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
    74
    75
    76
    77
    78
    79
    if (isset($_GET["id"]))
    	{
    	$id=$_GET["id"];
    			$db_link = mysql_connect("localhost","root","");
    	if (!$db_link){
    	 die ("Erreur de connexion :".mysql_error());
    	 }
    	 mysql_select_db("gestion de commande") or die ("Sélection de la base impossible");
    	 /*performing SQL query*/
    	 $sql="SELECT * FROM commande WHERE id=$id";
     
     
    	/*echo $sql;*/
    	  $result = mysql_query($sql,$db_link);
    	 if (!$result)
    		die ("erreur sur ma requete".mysql_error());
    		$row=mysql_fetch_array($result);
     
    	 /* closing connection*/
    	 mysql_close($db_link);
    }
    ?>
    <form name="formulaire" method="post" action="archivearticle.php">
    <table width = "320" border = "1">
    <tr><td>
    <input type="text" name="ref" id="ref" value="<?php echo $row["ref"];?>" />
    <td align="right"><input type="submit" name="afficher" id="afficher" value="Afficher" onclick="afficher()"/></td>
    </td></tr>
     
    <?php
     
    	$nom = $_POST["ref"];
    		$db_link = mysql_connect("localhost","root","");
    	if (!$db_link){
    	 die ("Erreur de connexion :".mysql_error());
    	 }
    	 mysql_select_db("gestion de commande") or die ("Sélection de la base impossible");
    	 /*performing SQL query*/
     
    	 $sql="SELECT * FROM article WHERE reference LIKE CONVERT( _utf8 '%$nom%'USING latin1 ) COLLATE latin1_swedish_ci";
     
    		/*echo $sql;*/
    	  $result = mysql_query($sql,$db_link);
    	 if (!$result)
    		die ("erreur sur ma requete".mysql_error());
     
     
    	 /* closing connection*/
    	 mysql_close($db_link);
     
    	 ?>	 
     
    	 <br/>
    	 <br/>
    <table width = "350" border = "4">
    <tr>
    <td> Réf. article</td>
    <td> Nom de l'article</td>
    <td> Description</td>
    <td> Prix TVA</td>
    <td> Stock</td>
    </tr>
     
     
    <?php
    while ($row=mysql_fetch_row($result))
      {
     
    	    echo '<tr>';
    	echo '<td>'.$row[3].'</td>';
    	echo '<td>'.$row[1].'</td>';
    	echo '<td>'.$row[2].'</td>';
    	echo '<td>'.$row[4].'</td>';
    	echo '<td>'.$row[5].'</td>';
    	}
    ?>
    </table>
    </div>
    <?php

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faudrait deja que tu commences par nettoyer ton code HTML : tu as des <td> et <tr> qui fleurissent un peu partout sans se fermer.

    Ensuite si j'ai bien compris, tu veux te debarasser de ton infame formulaire intermediaire.

    Pour cela il faut que tu fasses une requete avec jointure entre tes tables commande et article qui je suppose ont un champ commun.

    Ca donnerait un truc comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM article JOIN commande USING (champ_commun) WHERE id = $id
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut
    voila j'ai modifier le code mais maintenant je n'arrive qua afficher tt les lignes exacte que comporte la jointure je n'arrive pas a rajouter la condition "seulement avec la valeur qui a dans l'url"
    voici le code modifier
    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
    		<?php
    if (isset($_GET["ref"]))
    	{
    	$ref=$_GET["ref"];
    			$db_link = mysql_connect("localhost","root","");
    	if (!$db_link){
    	 die ("Erreur de connexion :".mysql_error());
    	 }
    	 mysql_select_db("gestion de commande") or die ("Sélection de la base impossible");
    	 /*performing SQL query*/
    	 $sql="SELECT * FROM article JOIN commande ON article.reference=commande.ref where ref=$ref";
     
    	 /*$sql="SELECT * FROM commande WHERE id=$id";
    
    	
    	/*echo $sql;*/
    	  $result = mysql_query($sql,$db_link);
    	 if (!$result)
    		die ("erreur sur ma requete".mysql_error());
    		$row=mysql_fetch_array($result);
     
    	 /* closing connection*/
    	 mysql_close($db_link);
    }
    ?>
    <form name="formulaire" method="post" action="archivearticle.php">
    <table width = "320" border = "1">
    <tr><td>
    <input type="text" name="ref" id="ref" value="<?php echo $row["ref"];?>" />
    <td align="right"><input type="submit" name="afficher" id="afficher" value="Afficher" onclick="afficher()"/></td>
    </td></tr>
     
     
     
    	 <br/>
    	 <br/>
    <table width = "350" border = "4">
    <tr>
    <td> Réf. article</td>
    <td> Nom de l'article</td>
    <td> Description</td>
    <td> Prix TVA</td>
    <td> Stock</td>
    </tr>
     
     
    <?php
    while ($row=mysql_fetch_row($result))
      {
     
    	    echo '<tr>';
    	echo '<td>'.$row[3].'</td>';
    	echo '<td>'.$row[1].'</td>';
    	echo '<td>'.$row[2].'</td>';
    	echo '<td>'.$row[4].'</td>';
    	echo '<td>'.$row[5].'</td>';
    	echo '</tr>';
    	}
    ?>
    </table>
    </div>
    avec la condition where j'ai une erreur comme ceci erreur sur ma requeteUnknown column 'ET.1716p.231' in 'where clause'

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi on est passé de "id" à "ref" ? J'ai du mal a comprendre la conception de ta bdd.

    Si ton champ "ref" est repris pour tous les enregistrements "article" et que c'est lui le parametre que tu transmets, tu n'as pas besoin de faire ta jointure.
    De plus si ton champ "ref" est une chaine de charactere il faut mettre des guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM article where ref='$ref'";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut
    en gros j'ai un colonne ref pour les commande et une reference pour les articles mais ce que j'arrive pas a faire c affiche seulement la ligne qui correspond au ref j'ai tapé ça $sql="SELECT * FROM article where reference='$ref'"; mais ça n'affiche que dans le champ texte la valeur du get mais pas le tableau

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi tu as encore toute cette partie avec le champ texte dans ton code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. extraire une ligne positionnée dans X fichiers
    Par AlexFred dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2008, 17h42
  2. Compilation latex en une ligne : besoin d'aide!
    Par choinul dans le forum Programmation (La)TeX avancée
    Réponses: 2
    Dernier message: 08/02/2008, 17h26
  3. Extraire Une Ligne Du Fichier
    Par chakcc dans le forum C
    Réponses: 2
    Dernier message: 16/10/2006, 11h45
  4. Scripts : Extraire une ligne
    Par nemohck dans le forum Linux
    Réponses: 7
    Dernier message: 03/11/2003, 20h40

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