Search link

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
hondrosk
Δημοσιεύσεις: 29
Εγγραφή: 06 Ιούλ 2005 14:18
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Search link

Δημοσίευση από hondrosk » 18 Ιαν 2008 17:51

Καλησπέρα.
Έχω μια βάση που αποτελείται απο έναν μονο πίνακα με 10 πεδία.
Στην βάση μου χρησιμοποιώ μια φόρμα για search για το πεδίο title.
στο search.htm

Κώδικας: Επιλογή όλων

<form action="work.php" method="post">
  Για να ψάξετε ένα <b>τίτλο</b> 
   <br>ΤΙΤΛΟΣ&#58; <input type="text" name="title" size="50">
  <input type="submit" value="Εύρεση" name="submit"> </p>
</form>
kai sto work.php

Κώδικας: Επιλογή όλων

<?
// make connection to database
mysql_connect&#40;$hostName, $userName, $password&#41; or die&#40;"Unable to connect to host $hostName"&#41;;
mysql_query&#40;"SET NAMES utf8;"&#41;;
mysql_select_db&#40;$dbName&#41; or die&#40; "Unable to select database $dbName"&#41;;

$query =
        "SELECT *
    FROM inventory
        WHERE &#40;inventory.title LIKE '%$title%'&#41;
    ORDER BY inventory.title";

...........
?>
Μπορώ να εχω ενα link που να κανει ενα προκαθορισμένο search
ωστε να εμφανίζονται τα συγκεκριμένα αποτελέσματα?
Και επίσης μπορω να δημιουργήσω λινκς αναλογα με το πρωτο γράμμα του title?
(να πατας δλδ το λινκ "Κ" και να σου βγάζει όλες τις εγγραφές το title αρχίζει απο Κ)

hondrosk
Δημοσιεύσεις: 29
Εγγραφή: 06 Ιούλ 2005 14:18
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Search link

Δημοσίευση από hondrosk » 18 Ιαν 2008 19:00

Βρήκα κατι...
αν αντικαταστήσv το work.php με

Κώδικας: Επιλογή όλων

<?
// make connection to database
mysql_connect&#40;$hostName, $userName, $password&#41; or die&#40;"Unable to connect to host $hostName"&#41;;
mysql_query&#40;"SET NAMES utf8;"&#41;;
mysql_select_db&#40;$dbName&#41; or die&#40; "Unable to select database $dbName"&#41;;

$query =
          "SELECT *
    FROM inventory
        WHERE &#40;inventory.inventoryID = '$inventoryID'&#41;
    ORDER BY inventory.title";

...........
?>
μπορω να έχω λινκς με την μορφη work.php?inventoryID=2 που ναοδηγουν στην αντίστοιχη καταχώρηση.
Αυτό όμως ισχύει αν τα titles ειναι μοναδικά .. αν δεν είναι???
Δοκίμασα στο προυπάρχων work.php να βάλω work.php?title=ΟΝΟΜΑ ΤΙΤΛΟΥ
αλλα μου ενφανίζει το λινκ στην μπαρα πανω ως %C9%D4%C9%D3%D3%C1 και δεν βρίσκει καταχωρίσεις. Μήπως φταίει και ο server σε αυτο??

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Search link

Δημοσίευση από mrpc » 19 Ιαν 2008 08:23

Αν θες να κάνεις search τα οποία να κρατιούνται στο url, πρέπει να αλλάξεις τη φόρμα από POST σε GET.

hondrosk
Δημοσιεύσεις: 29
Εγγραφή: 06 Ιούλ 2005 14:18
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Search link

Δημοσίευση από hondrosk » 19 Ιαν 2008 09:46

mrpc... με φόρμα μπορώ να το φτιάξω (αυτο εχω τωρα), βάζω σε μια φόρμα ενα title επιστρέφει όλες τις εγγραφες με αυτο το title.
εγω θελω να εμφανίζονται ως λίνκς!
δηλαδη αντι αυτο που βρίσκει ΜΙΑ μονο εγγραφη

Κώδικας: Επιλογή όλων

<a href=\"work2.php?inventoryID=$inventoryID\">$title<a>
θέλω να βρίσκει όλες της εγγραφές για ένα title (που εχουν τον ίδιο τίτλο)
κατι σαν

Κώδικας: Επιλογή όλων

<a href=\"work.php?title=$title\">$title<a>
ειμαι τελείως λάθος???

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Search link

Δημοσίευση από mrpc » 19 Ιαν 2008 11:00

Ρίξε μια ματιά τότε στις functions urlencode και urldecode.
Νομίζω ότι είναι αυτό που χρειάζεσαι για να μη σου βγαίνουν περίεργοι οι τίτλοι ;)

hondrosk
Δημοσιεύσεις: 29
Εγγραφή: 06 Ιούλ 2005 14:18
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Search link

Δημοσίευση από hondrosk » 19 Ιαν 2008 15:21

Thanks mrpc το ulrdecode ήταν τελικά.
Βάζοντας τον κώδικα

Κώδικας: Επιλογή όλων

$a = explode&#40;'&', $QUERY_STRING&#41;;
$i = 0;
while &#40;$i < count&#40;$a&#41;&#41; &#123;
    $b = split&#40;'=', $a&#91;$i&#93;&#41;;
    echo 'Value for parameter ', htmlspecialchars&#40;urldecode&#40;$b&#91;0&#93;&#41;&#41;,
         ' is ', htmlspecialchars&#40;urldecode&#40;$b&#91;1&#93;&#41;&#41;, "<br />\n";
    $i++;
&#125;
σε καποιο σημείο στο .php αρχειο που κανει την αναζήτηση αποκωδικοποιεί τους χαρακτήρες.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης