SQL une valeur par une autre

Fushiida -  
 Fushiida -
Bonjour,
Alors voila, je cherche comment remplacer une valeur sql, je select mes lignes, celle ci m'affiche INVENTORY comment je peut faire pour que au lieu de afficher INVENTORY elle affiche "Ce trouvant dans l'inventaire"

Merci d'avance

1 réponse

  1. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
     
    normalement, si je ne dis pas de bêtises, ceci devrait faire l'affaire :

    select inventory as "Ce trouvant dans l'inventaire" from ....
    0
    1. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      et bien sûr

      select a, b, inventory, d as a, b, "ce qu'il y a ...", d from ...


      si tu as plusieurs colonnes à afficher.

      ou

      select a, b, inventory as "ce qu'il y a ...", d from ...


      à tester
      0
    2. Fushiida
       
      J'ai deja
      	$requette2 = ("SELECT * FROM player.item ,player.item_proto WHERE item.vnum = item_proto.vnum AND item.owner_id =  '32894'  "); 
      	$sql2 = mysql_query($requette2) or die('Erreur SQL !<br />'.$requette2.'<br />'.mysql_error()); 
      	
      	while(($data = mysql_fetch_array($sql2)))
      		{
      
      			
      			$id++;//On incrémente le nombre de id
      			$tpl->assign_array('list_banni', array(
      		
      			'locale_name' => $data['locale_name'],
      			'window' => $data['window'],
      			
      			));
      		}

      Donc je doit le rajouter ou ?
      0
    3. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      le php je ne connais *pas du tout*, et peut-être qu'il y a une manière en php de faire ça directement.

      mais sinon au niveau de la requete tu dois mettre, ma dernière proposition je pense , comme ceci :

      "SELECT * FROM player.item ,player.item_proto WHERE item.vnum = item_proto.vnum AND item.owner_id = '32894' "

      devient

      "SELECT colonne1, colonne2, inventory as 'Le texte que tu veux à la place du nom', etc FROM player.item ,player.item_proto WHERE item.vnum = item_proto.vnum AND item.owner_id = '32894' "

      donc tu dois malheureusement écrire le nom de toutes tes colonnes à la place de mettre juste " * "
      0
    4. Fushiida
       
      Dac, mais inventory n'est pas une colonne, c'est un résultat , ce resultat peut être soit INVENTORY, EQUIPMENT, MALL

      http://hpics.li/f60cd5f
      0
    5. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      ahhh c'est une des valeurs possibles dans les lignes de ta colonne, je comprends mieux

      ok

      alors là, l'idée serait de créer une nouvelle table
      avec deux colonnes :
      le nom de base, et l'affichage à faire selon le nom
      colonne1            colonne2       
      ------------        --------------       
      INVENTORY           Dans l'inventaire       
      EQUIPEMENT          Utilisé qulquepart       
      MALL                blabla       
      

      et tu lies cette table dans ta requette

      par ex. si le nom de la colonne est "colonneTruc"
      tu feras




      SELECT les anciennes colonnes de la table que tu voulais afficher,  colonne2        
      FROM tes anciennes tables, LaNouvelleTable       
      WHERE tes anciennes conditions AND lAncienneColonneQueTuVeuxPasAfficher = colonne1       
      
      


      PS : dsl plusieurs éditions de mon message en cours de route
      0