Antworten auf deine Fragen:
Neues Thema erstellen

Livesearch

rey

Der Frager ;)

Hi,
ich bin dabei eine Live search zu proggrammieren welche auch etwas struckturiert seien soll und da hänge ich nun.
Ich durchsuche momenten zum testen den text inhalt als auch die Kategorie Namen.
Ich möchte nun das alle inhalte die zu einer kategorie gehören dieser unter geordnet werden.
Das würde dann so aussehen, wenn es die Kategorien:

  • test
  • test2
  • test3
geben würde:
test | test2 |test3
inhalt_1 | inhalt1 | inhalt_1
inhalt_2 | inhalt2 | inahlt_2
.
.
.
etc.
Das problem bei mir ist zum einen werden die Kategorie Namen doppelt angezeigt und zum anderen alles unter einander.
also dachte ich mir das ich die Kategorien kurzzeitig in einen array speicher und diesen mit weiteren Kategorien erst fülle wenn diese nicht schon vorhanden ist.
Die Tabellarische Datstellen habe ich noch gar keine idee wie ich das umsetzen soll.
Die sache mit dem Array hat leider nur einen hacken.
PHP:
    if(in_array($row["Name"],$catsArr))    {}
    else{
    array_push($catsArr,$row["Name"]);
    }
er füllt es mir immer mit dem kategorie Namen das heißt irgend wann gibt es einen Namen 2mal oder npch öfters drinnen.
Jemand ne idee bzw. ratschläge zu meinen problemen?

Ich denke ich bekomme die Tabbelarische Ausgabe über zwei schleifen hin, mich wundert momentan ehrlich gesagt bloß weshalb mein array mehrfach mit dem selben Wert gefüllt wird.

Update:
Ich versuche es mittlerweile so:
PHP:
$sql="SELECT Count(Name) AS anzahlCat,c.Name AS Name,i.inhalt AS inhalt FROM inhalte i LEFT JOIN category c ON i.catid=c.cid  WHERE inhalt Like '%".$q."%' ORDER BY Name DESC";
$result = mysql_query($sql);
echo "<table width=\"100%\" cellspacing=\"4\" border=\"0\">
<tr>";
while($Felder=mysql_fetch_array($result)) 
{
    echo "<td>".$Felder["Name"]."</td>"; 
}
echo "</tr>";
while($spalten=mysql_fetch_array($result,MYSQL_NUM)) 
    {
        echo '<tr>';
        for($z=0;$z<count($spalten);$z++)
            {
                echo '<td>'.$spalten[$z].'</td>';
                    
            }
        echo '</tr>';
    } 
  
echo '</table>';
Das Problem hierbei ist das ich immer nur eine Kategorie ausgegeben bekomme und der inhalt auf der strecke bleibt.
 
Zuletzt bearbeitet:

AW: Livesearch

Hi,

ist das eine Livesearch per JavaScript (z.B. wie bei jQuery)? Oder was verstehst du unter Livesearch?
 
AW: Livesearch

Ja ist eine die über Ajax arbeitet eigentlich diese hier

bloß das ich nicht über ein XML auf die Daten zugreife, sondern direkt in der DB
 
AW: Livesearch

Folgende Frage:
mit der Eingabe (keyup), feuerst du den ajax ab. Die Verarbeitung innerhalb von php per Query-Anfrage und den Result per while() { }. Soweit klar? Wenn du nun vor der while eine Variable definierst z.B. $ausgabe und diese innerhalb der while dann füllst mit dem Ergebnis aus Result wie z.B. $ausgabe .= '<li>'. $res['kategorie'] .'</li>'; und nach der while ein echo $ausgabe; setzt, wie sieht dann dein Ergebnis aus?

Wenn du das noch nicht getan hast, teste es einmal.
 
AW: Livesearch

Die Ausgabe schaut so aus
  • test1
  • Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  • test2
  • Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  • test3
  • Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  • test3
  • Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  • test4
  • Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Wie man sieht wird die Kategorie zwei mal ausgegben was ich vermeiden wollte ;)
 
AW: Livesearch

Also, auch wenn ich momentan noch nicht ganz durchblicke, wie das ganze einmal aussehen soll, hätte ich doch vielleicht eine Idee.
Nimm ein Zweidimensionales assoziatives Array. Als Schlüssel verwendest du den Namen der Kategorie und darunter erstellst du nun für jede neune Eintragung ein Arrayelement.
Beispielhafte Struktur:

$var= array(

'cat_name1' => array('inhalt1', 'inhalt2', ...)
'cat_name2' => array('inhalt1', 'inhalt2', ...)
...
);

Das hinzufügen ginge sehr einfach mit
$var[$cat_name][] = $hinzugefuegter_teil;
 
AW: Livesearch

Aaaahhhh,

denken muss man schon..... (meine mich). Du willst ja die Kategorien als Request. Ergo musst du das ganze ja solange durchlaufen, bis auch ggf. Unterkategorien enthalten sind. Deshalb ist das doppelt. Das wiederum besagt, dass du JOIN's im Query setzen musst. Und letztlich lautet das wiederum für dich: Recursiver Aufbau des Kategoriebaumes.

Wenn du den Test durchläufst und nur die Hauptkategorien dir ausgeben zu lassen, ist da nichts mehr doppelt. Ist als Test zu verstehen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.869
Beiträge
1.539.640
Mitglieder
67.865
Neuestes Mitglied
Vavada#casino[Quyrxinxupi
Oben