2016-10-28 1 views
-1

Ich habe keine Ahnung, was ich tue.Holen Sie sich eine Variable aus der Datenbank basierend auf einer anderen Abfrage

In meinem Code bekomme ich eine CSV-Liste meiner Kategorien, die verschachtelt sind. Ich möchte den Namen der übergeordneten Kategorie zu jeder CSV-Zeile hinzufügen.

Wie, wenn ich erhalte category_name, category_parent_id, category_image und so weiter

möchte ich eine weitere Suche in der category_description Tabelle tun und category_name finden, die die category_id zum parent_id übereinstimmt, die ich vor habe ich kommentiert habe aus die Linien, die ich Problem mit

<?php 
 
DEFINE ('DBUSER', 'myosjrjp_osco638'); 
 
DEFINE ('DBPW', 'plS]q4)U78'); 
 
DEFINE ('DBHOST', 'localhost'); 
 
DEFINE ('DBNAME', 'myosjrjp_osco638'); 
 
error_reporting(E_ALL | E_ALL); 
 
    
 
$dbc = mysqli_connect(DBHOST,DBUSER,DBPW); 
 
if (!$dbc) { 
 
    die("Database connection failed: " . mysqli_error($dbc)); 
 
    exit(); 
 
} 
 

 
$dbs = mysqli_select_db($dbc, DBNAME); 
 
if (!$dbs) { 
 
    die("Database selection failed: " . mysqli_error($dbc)); 
 
    exit(); 
 
} 
 

 
$result = mysqli_query($dbc, "SHOW COLUMNS FROM categories"); 
 
$numberOfRows = mysqli_num_rows($result); 
 
if ($numberOfRows > 0) { 
 

 
/* By changing Fred below to another specific persons name you can limit access to just the part of the database for that individual. You could eliminate WHERE recorder_id='Fred' all together if you want to give full access to everyone. */ 
 

 
$values = mysqli_query($dbc, "SELECT categories.categories_id, categories.categories_image, categories.parent_id, categories_description.categories_id, categories_description.language_id, categories_description.categories_name, categories_description.categories_description 
 
FROM categories 
 
JOIN categories_description 
 
WHERE categories.categories_id = categories_description.categories_id "); 
 
while ($rowr = mysqli_fetch_row($values)) { 
 
for ($j=0;$j<$numberOfRows;$j++) { 
 
\t ///////// 
 
// \t $parent= mysqli_fetch_row($values,'categories.parent_id'); 
 
// \t $values2 = mysqli_query($dbc, "SELECT categories_name, 
 
//FROM categories_description 
 
//WHERE categories_id = '$parent'"); 
 
\t ////// 
 

 
    $csv_output .= $rowr[$j].", "; 
 
// $csv_output .= $values2('categories_name').", "; 
 
} 
 
$csv_output .= "\n"; 
 
} 
 

 
} 
 

 
print $csv_output; 
 
exit; 
 
?>
habe

+0

* "Ich habe keine Ahnung, was ich tue" * - Was es schwierig für uns macht zu wissen, worum es in der Frage wirklich geht. Was funktioniert hier nicht? –

+1

und scheint zu Ihrer anderen Frage früher verwandt http://stackoverflow.com/q/40289135/ - Bitte nicht erneut veröffentlichen; Bearbeite deine andere Frage mit zusätzlichen Informationen. –

Antwort

0

Leicht können Sie eine csv machen direkt usin g eine mysql-Abfrage mit allem, was Sie wollen. Verwendung der Dateifunktion von mysql. Sie können auch 2 Tabellen damit verbinden, indem Sie UNION ALL verwenden, Sie können die Überschrift für jede Spalte setzen. Sie können auch Daten aus einer anderen Tabelle in der Abfrage abrufen, indem Sie * aus Tabelle Mähne wählen, wo Tabelle I = Ihre aktuelle Tabelle wäre. Alles, was Sie mit dieser Abfrage anpassen können. Es wird auch sehr schnell sein. Suche mysql INTO OUTFILE

Siehe die Abfrage im Beispiel in der Antwort hier How to add headers in CSV when using into out file. :

Verwandte Themen