php
  • mysql
  • 2010-06-26 6 views 0 likes 
    0

    Je voudrais sélectionner plusieurs tables dans une requête dire comme ci-dessous et l'insérer dans plusieurs tables:Comment puis-je sélectionner plusieurs tables dans une ligne ?? et insérer dans?

    $result = $db->sql_query("SELECT * FROM data1,data2,data3,data4 WHERE person='" .$name. "'"); 
    
    $row = $db->sql_fetchrow($result); 
    $day = $row['regtime']; 
    $days = (strtotime(date("Y-m-d")) - strtotime($row['regtime']))/(60 * 60 * 24); 
    if($row > 0 && $days < 15){ 
    
    $row = ['name']; 
    $row = ['age']; 
    
    //etc 
    
    }else { //do something 
    
    if ($row == 0 && $name > 0){ 
    $db->sql_query("INSERT INTO data1 ?????? 
    
    } 
    

    Cela semble problème que les jours ne sont pas été calculés par conséquent, il traite toujours de nouvelles données et non d'accéder aux données stockées dans le tableau ...

    Y at-il un moyen que cela peut obtenir du travail?

    +0

    s'il vous plaît pouvez-vous être plus explicite? –

    Répondre

    1

    Il semble que vous souhaitiez utiliser un join. Il y a beaucoup de jointures différentes, mais toutes impliquent de demander qu'une ou plusieurs colonnes de la première table soient alignées avec une ou plusieurs colonnes dans la seconde table. Dans votre requête ci-dessus, vous incluez beaucoup de tables dans la clause FROM, mais vous ne spécifiez pas comment les tables doivent être jointes ensemble. Sans savoir à quoi ressemble chaque tableau, il est difficile de donner un exemple en utilisant vos tables. Le lien que j'ai fourni ci-dessus contient beaucoup d'exemples.

    +0

    il y a un problème dans la variable $ name est rempli avec la recherche d'utilisateur ... Donc je dois rechercher $ name dans toutes les tables – mathew

    +0

    Il semble que la colonne de nom est celle que vous voulez utiliser pour joindre toutes les tables ensemble puis ! 'SELECT * FROM table1, table2 WHERE table1.name = table2.name ET table1.name =?' – Charles

    +0

    Oui, je dois combiner la colonne name et les appeler avec le nom de la recherche d'utilisateur ... mais dans votre exemple, vous avez montré seulement deux et J'ai 4. comment puis-je changer cela selon ?? – mathew

    Questions connexes