Visualizzazione risultati 1 fino 10 di 10

Discussione: Aiuto ! Motore di ricerca e risultati che si ripetono !!

  1. #1
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    Ho creato un motore di ricerca che guarda le parole di un campo titolo.Il problema è che se si scrivono 2 parole chiave ,esse vengono suddivise attraverso explode(" ", $keywords); e quindi poi viene utilizzato un ciclo foreach,ora sei il ciclo viene fatto 2 volte e giusto giusto tutte e due le parole coincidono con uno stesso titolo,quest'ultimo viene printato 2 volte !
    Come evitare che ciò accada?

    Ecco il codice,$keywords viene passata da un form:

    [code:1:333f6b741e]
    $keywords_pezzo = explode(" ", $keywords);
    $num2 = 0;
    foreach($keywords_pezzo as $valore) {

    $query = "SELECT * FROM art_articoli WHERE titolo LIKE '%$valore%'";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)) {

    print "- <a style=\"color: $a_colore; font-size: $a_grandezza; font-family: $a_font\" href=\"index.php?id=$row[id]\"&g t;$row[titolo]</a><br>";

    $num2 = 1;
    }
    if ($num2 == "") {
    die("Non sono stati trovati articoli che soddisfano i criteri di ricerca.");
    }
    } [/code:1:333f6b741e]

  2. #2
    Guest

    Predefinito

    potresti mettere i risultati delle query in un array, eliminare i duplicati e quindi stampare

  3. #3
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    Citazione Originalmente inviato da redgun
    potresti mettere i risultati delle query in un array, eliminare i duplicati e quindi stampare
    ci avevo pensato ma non sono riuscito a farlo bene.Non è che potresti postarmi il codice? tnx

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Io eviterei assolutamente il foreach sul numero di parole chiave.
    Risolvi sfruttando l'implode alla grande (trucchetto inventato da me 8) ), ecco il codice:

    [code:1:bfb1841a4e]$arrkeys = explode(" ", $keywords);
    $searchkeys = implode("%' OR titolo LIKE '%", $arrkeys);
    $none = true;

    $query = "SELECT * FROM art_articoli WHERE titolo LIKE '%$searchkeys%'";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)) {

    print "- <a style=\"color: $a_colore; font-size: $a_grandezza; font-family: $a_font\" href=\"index.php?id=$row[id]\"&g t;$row[titolo]</a><br>";
    $none = false;
    }
    if ($none) {
    die("Non sono stati trovati articoli che soddisfano i criteri di ricerca.");
    } [/code:1:bfb1841a4e]

    Eviti sia il foreach che i risultati multipli.
    Non ho testato ma dovrebbe fungere...
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    Sagace :D
    Le parole chiave le passa correttamente,,, quindi dovrebbe funzionare sì

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Mai essere troppo sicuri!
    ...seppur notoriamente infallibili
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    Grazie heracleum poi lo provo e ti faccio sapere

  8. #8
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    funziona alla grande !!!!!!!!!
    grazie a tutti !!!!!!!!!!!!! :D :D :D

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da marcio
    funziona alla grande !!!!!!!!!
    grazie a tutti !!!!!!!!!!!!! :D :D :D
    L'avevo detto io :)
    Grande hera

  10. #10
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •