2010-08-26 5 views
1

J'ai une question très simple sur l'envoi de requêtes multiples avec php/sql et j'ajoute chaque résultat dans un tableau associatif.Multi SQL Requêtes dans un tableau associatif avec PHP/SQL

Fondamentalement, j'ai assigné chaque requête dans un tableau associatif.

Chaque résultat pour chaque requêtes vont dans mon tableau multidimensionnel $el['nameofthequery']['resultsofthequery']

//connection information 
$host = "localhost"; 
$user = "root"; 
$password = ""; 
$database = "sghi"; 
$el = array(); 
$query = array(); 

//make connection 
$server = mysql_connect($host, $user, $password) or die('Could not connect to mysql server.'); 
$connection = mysql_select_db($database, $server); 

//query the database 
$query['mylist1'] = mysql_query("SELECT CompanyName AS label,ContactName AS value FROM suppliers") or die('Could not select database.'); 
$query['mylist2'] = mysql_query("SELECT ContactTitle AS label,City AS value FROM suppliers") or die('Could not select database.'); 

//build array of results 

    // Check if there is any results 
    if(mysql_num_rows($query['mylist1']) == 0) { 
    echo "No results found"; 
    exit; // so exit 
    } 
    else { 
    while($row = mysql_fetch_assoc($query['mylist1'])){ 
    $el['mylist1'][] = $row; 
    } 
    } 

    // Check if there is any results 
    if(mysql_num_rows($query['mylist2']) == 0) { 
    echo "No results found"; 
    exit; // so exit 
    } 
    else { 
    while($row = mysql_fetch_assoc($query['mylist2'])){ 
    $el['mylist2'][] = $row; 
    } 
    } 

//echo JSON to page 
$response = json_encode($el); 
echo $response; 
mysql_close($server); 

Il fonctionne très bien jusqu'à présent, mais je voudrais savoir si je suis en utilisant la meilleure méthode pour atteindre cela?

Voici le script jquery qui gèrent les données JSON générées à partir de mon code ci-dessus ... il remplir la liste multiple avec des valeurs différentes sous une forme:

$.getJSON('test.php', function(result) { 

    var optionsValues = ''; 
$.each(result['mylist1'], function(item) { 
    optionsValues += '<option value="' + this.value + '">' + this.label + '</option>'; 
}); 
var options = $('#DestAirportList'); 
options.append(optionsValues); 

    var optionsValues = ''; 
$.each(result['mylist2'], function(item) { 
    optionsValues += '<option value="' + this.value + '">' + this.label + '</option>'; 
}); 
var options = $('#DestAirportRoomList'); 
options.append(optionsValues); 

}); 

Merci pour votre réponse!

+0

S'il vous plaît formater votre code en tant que tel – JochenJung

Répondre

0

Outre le fait que vous ne l'utilisez mysqli ...

Puis-je demander pourquoi vous faites cela? Il est souvent plus facile de savoir si c'est une bonne/mauvaise méthode en contexte.

+0

Salut, ce code est censé générer des données à l'aide des données de format.The JSON sont utilisés avec un script jquery pour peupler une liste différente de plusieurs valeurs dans un formulaire ... (je peux vous donner le script jquery si vous voulez?) – user431898

+0

Non, c'est bien, ma seule suggestion serait d'utiliser les fonctions mysqli si vous le pouvez, plutôt que des fonctions mysql. A part ça, ça a l'air bien. – timw4mail

+0

ok merci pour ça! – user431898

1

vous pouvez utiliser une requête et utiliser UNION

select .... UNION select ... 
+0

merci je vais regarder cette fonction ... – user431898

Questions connexes