[RESOLU] Interrogation même champs sur plusieurs table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Interrogation même champs sur plusieurs table

Re: Interrogation même champs sur plusieurs table

par doggerip » 02 août 2013, 11:46

Notice: Undefined variable: carrierepop in ../france-clan.com/doggerip/fonction_batiments.php on line 120
carriere

Notice: Undefined variable: fermepop in .../france-clan.com/doggerip/fonction_batiments.php on line 121
ferme

Merci beaucoup ça ma permis de trouver l'erreur et surtout d'avancé car ça faisait plusieurs jours que j'étais bloqué.
J'ai fini par trouver c'était à cause des champs de ma BDD qui était en varchar au lieu de int.

Re: Interrogation même champs sur plusieurs table

par doggerip » 01 août 2013, 15:50

Merci beaucoup, je test ça et je te dis si ça fonctionne.

Re: Interrogation même champs sur plusieurs table

par Alexou » 01 août 2013, 15:37

Est-ce qu'un modo peut effacer ce message et mon précédent, je me suis planté, la fatigue ...

Milles excuses à tous les intervenants ...

Re: Interrogation même champs sur plusieurs table

par Alexou » 01 août 2013, 15:27

Bonjour Mazarini, merci pour ton aide,

La requête s'exécute bien quand il n'y a pas d'accent dans le mot clé, mais dés qu'il y en a un, plus rien ne s'affiche en résultat et cela même si je sais que le mot saisi est bien présent dans la base de donnée.

Les mots clés seront entré via un url exemple search.php?recherche=les-mots-cles-saisi-avant-dans-le-forumulaire

Puis je ferais un
$recherche=$_GET['recherche']; 
et ensuite ceci :
$requete = "select * from xtnews_news where titre like '%$recherche%'";
d'où mon importance des histoires d'accents, mais je ne voit toujours pas pourquoi les accents bloquent l'exécution du script, je sais je suis bien chiant (je sais je suis chiant),
Alexandre

Re: Interrogation même champs sur plusieurs table

par Mazarini » 01 août 2013, 10:21

Bonjour,

Après une requete sql (mysql_query) il faut vérifier que la requete s'est bien exécuter (mysql_errno et mysql_error).
Tu peux également vérifier le nombre de ligne trouvée avec mysql_num_rows (toujours 0 ou 1 ?).

Tu peux également faire un contrôle des paramètres (if (!isset($post['caserne'])) {...} par exemple. Il est mieux d'ajouter error_reporting(E_ALL); en début de script pour voir les variables non initialisés ou les fautes de frappe.

Interrogation même champs sur plusieurs table

par doggerip » 31 juil. 2013, 19:54

Bonjour à tous. J'ai chercher partout sur le net est je n'ai pas trouvé de réponse, ou je suis incapable de la remodelé à ma façon.
J'ai une base de données comportant plusieurs tables, qui ont chacune deux champs identiques (pop) et (niveau).
J'aimerai trouver la valeur correspondante dans le champ (pop) à la valeur du champs (niveau)


J'ai créer des variables pour récupérer les résultats d'un formulaire correspondant au niveau .

J'ai essayé de récupéré la valeur (pop) en interrogeant la base de données .


voici mon code
<?php
include_once('connect.php');

$senat = $_POST['senat'];   
$marche = $_POST['marcher'];        
$entrepot = $_POST['entrepot'];       
$ferme = $_POST['ferme'];   
$scierie = $_POST['scierie'];       
$carriere = $_POST['carriere'];       
$mineargent = $_POST['mineargent'];       
$rempart = $_POST['rempart'];       
$port = $_POST['port'];        
$caserne = $_POST['caserne'];        
$grotte = $_POST['grotte'];       
$academie = $_POST['academie'];       
$temple = $_POST['temple'];       
$theatre = $_POST['theatre'];        
$thermes = $_POST['thermes'];        
$bibliotheque = $_POST['bibliotheque'];        
$phare = $_POST['phare'];   


print($carriere);echo 'carriere<br />';   
print($mineargent);echo 'mineargent<br />';   
print($senat);echo 'senat<br />';
print($marche);echo 'marche<br />';
print($entrepot);echo 'entrepot<br />';   
print($ferme);echo 'ferme<br />';
print($rempart);echo 'rempart<br />';   
print($port);echo 'port<br />';
print($caserne);echo 'caserne<br />';   
print($grotte);echo 'grotte<br />';
print($academie);echo 'academie<br />';
print($temple);echo 'temple<br />';
print($theatre);echo 'theatre<br />';
print($thermes);echo 'thermes<br />';
print($bibliotheque);echo 'bibliotheque<br />';
print($phare);echo 'phare<br />';


   
// pop academie   
    $aca = mysql_query("SELECT pop FROM academie WHERE niveau=' " . $academie . "'");
    while ($donnees = mysql_fetch_array($aca))
     {
    $acad = $donnees['pop']; 
    }

// pop mine d'argent
    $mine = mysql_query("SELECT pop FROM mineargent WHERE niveau=' " . $mineargent . "'");

     while ($donnees = mysql_fetch_array($mine))
     {
    $minar = $donnees['pop'];
     } 
 
// pop caserne
    $case = mysql_query("SELECT pop FROM caserne WHERE niveau=' " . $caserne . "'");

     while ($donnees = mysql_fetch_array($case))
     {
    $casernepop = $donnees['pop'];
     }

// pop carriere
    $carri = mysql_query("SELECT pop FROM carriere WHERE niveau=' " . $carriere . "'");

     while ($donnees = mysql_fetch_array($carri))
     {
    $carrierepop = $donnees['pop'];
     }

// pop ferme
    $reponses = mysql_query("SELECT popmax FROM ferme WHERE niveau=' " . $ferme . "'");

     while ($donnees = mysql_fetch_array($reponses))
     {
    $fermepop = $donnees['popmax'];
     }

 // pop marché
    $reponses = mysql_query("SELECT pop FROM marche WHERE niveau=' " . $marche . "'");

     while ($donnees = mysql_fetch_array($reponses))
     {
    $marchepop = $donnees['pop'];
     } 

// pop port
    $reponses = mysql_query("SELECT pop FROM port WHERE niveau=' " . $port . "'");

     while ($donnees = mysql_fetch_array($reponses))
     {
    $portpop = $donnees['pop'];
     } 

 
echo ($acad);echo 'popacademie<br />';        // ici ça fonctionne
echo($minar);echo 'mineargent<br />';        // ici ça fonctionne
echo($casernepop);echo 'Caserne<br />';     // ici ça fonctionne
echo($carrierepop);echo 'carriere<br />';    // problème ici rien d'afficher
echo($fermepop);echo 'ferme<br />';            // problème ici rien d'afficher
echo($marchepop);echo 'marche<br />';        // ici ça fonctionne
echo($portpop);echo 'port<br />';            // ici ça fonctionne
   
   
           

?>
Le problème c'est que ça ne fonctionne pas à chaque fois