2016-12-16 8 views
2

Ich lerne immer noch PHP und MySql und habe Schwierigkeiten mit der Suchleiste. Mein Problem ist, dass ich zwei Tabellen aus der Datenbank auswählen konnte, aber ich habe Probleme mit der while-Schleife, bei der alles auf die Suchleiste geworfen wird oder manchmal gar nichts. Ich verwende typeahead.js Plugin dafür. Ich möchte, dass die Länder zuerst angezeigt werden, und dann sollten Domains vorgeschlagen werden und ich möchte nicht an den Tischen teilnehmen. Bitte helfen Sie.Daten aus zwei Tabellen in PHP holen, ohne die Tabellen zu verbinden

Das ist mein Skript:

<script> 
    $(document).ready(function(){ 
    $('input.typeahead').typeahead({ 
     name: 'typeahead', 
     remote:'search2.php?key=%QUERY', 
     limit : 30 
    }); 
}); 
</script> 

Das ist mein PHP ist:

<?php 
    $key=$_GET['key']; 
    $array = array(); 
    $con=mysql_connect("localhost","root",""); 
    $db=mysql_select_db("test_db",$con); 
    $query=mysql_query("select * from tbl_sample where country LIKE '%{$key}%' AND domain LIKE '%{$key}%' "); 

    while($row=mysql_fetch_assoc($query)){ 
     $array[] = $row['country']; 
     $array[] = $row['domain']; 
    } 
    echo json_encode($array); 
?> 
+1

Wenn Sie noch PHP lernen, selbst einen Gefallen tun, löschen Sie diese und beginnen wieder mit PDO statt mysql_ * – e4c5

+0

Zweitens, warum ist es, dass Sie nicht wollen, zu einen Join verwenden? – e4c5

+0

@ e4c5 ok gut. weil sie völlig unterschiedliche Daten haben. Nicht relevant füreinander. Danke für den Vorschlag übrigens. –

Antwort

0

Was Sie fordern ist ein bisschen vage angegeben Sie nicht die zweite Tabelle beschrieben haben für uns überhaupt, also nehme ich an, dass Sie nur zwei Selektionen aus derselben Tabelle machen wollen. Das ist wie das getan und Länder legen zuerst:

$query=mysql_query("select country as 'result' from tbl_sample where country LIKE '%{$key}%' UNION select domain as 'result' from tbl_sample where domain LIKE '%{$key}%' "); 

while($row=mysql_fetch_assoc($query)){ 
    $array[] = $row['result']; 
} 
Verwandte Themen