PHP: Bootstrap, CodeIgniter - Typeahead Daten ziehen von MySQL

Ich bin versucht, SQL-Abfrage, um eine array von Werten zur Verwendung für die typeahead-und ich bin scheinbar fehlen die Grundlagen der arrays, da es nicht mir auch nur annähernd die Ergebnisse, die ich erwarte

Will ich sammeln die "Name" - Spalte von SQL für unterschiedliche Daten nur

Hier ist meine MySQL-Abfrage

$data['typeahead'] = $this->db->query('SELECT DISTINCT Name from table')->result_array();

Hier ist die Ausgabe, die es gibt auf var_dump

array(287) { 
 [0]=> array(1) { ["Name"]=> string(16) "'67 Shelby GT500" } 
 [1]=> array(1) { ["Name"]=> string(8) "Tooligan" } 
 [2]=> array(1) { ["Name"]=> string(24) "'67 Pontiac Firebird 400" } 
 [3]=> array(1) { ["Name"]=> string(17) "Volkswagen Beetle" } 
}

Das einzige, was ich versuche zu tun ist, erstellen Sie ein array mit den Daten aus den Spalten. Ich bin mit CodeIgniter für Rahmen und wird mit Bootstrap der JS-Arbeit mit dem typeahead, aber ich bin fest auf dem Daten-array-Abschnitt.

Jede Hilfe wäre sehr geschätzt habe ich die zahlreichen tutorials auf, wie die Verwendung von nicht-MySQL-arrays als typeahead, aber keiner arbeitet mit MySQL.

^^ Gelöst

Problem jetzt:

Typeahead nicht ziehen Daten aus array

controller-code:

 $name_array = $this->db->query('SELECT DISTINCT Name from table')->result_array();

 $typeahead_string = '';
 foreach ($name_array as $name)
 {
  $formatted_name    =  '"' . $name['Name'] . '", ';
  $typeahead_string .= $formatted_name;
 }

 $option_list = "[" . rtrim($typeahead_string, ", ") . "]";
 $data['typeahead'] = $option_list;

Anzeigen-Code:

<input type="text" class="span3 search-query" placeholder="Search" id="typeahead" data-provide="typeahead" data-source="<?php echo $typeahead; ?>"><button type="submit" class="btn"><i class="icon-search"></i></button>
  • Das ist nicht ein array, das ein Objekt repräsentiert ein query-Ergebnis. Ich weiß nichts über CI, aber ich bin mir sicher, dass die Dokumentation erläutert, wie eine Datenbank-Abfrage.
  • Sie waren korrekt, ich habe ->ergebnis_array() und jetzt bin ich ein array innerhalb eines Arrays. Ich muss nur herausfinden, wie entfernen Sie die erste Reihe komplett
  • Sie könnten versuchen, und sehen, was row_array() kehrt anstelle result_array(), oder Ihre array-Daten durch die Verwendung $newArray = $oldArray[0];. Dies stellt einfach in $newArray einem ersten element $oldArray (das erste element geschieht, um eine array zu).
  • row_array gibt 1 Eintrag also nicht $Daten['typeahead'] = $temp['0'];
InformationsquelleAutor Andrew | 2012-09-01
Schreibe einen Kommentar