greeker Δημοσ. 14 Μαρτίου 2012 Δημοσ. 14 Μαρτίου 2012 θέλω να δώσω μια δυνατότητα αναζήτησης στα δεδομένα μου στον χρήστη της σελίδας. θέλω να ψάχνει το $search_string μέσα σε όλο τον πίνακα (όλες τις στήλες) πώς το κάνω αυτό;
varemarious Δημοσ. 14 Μαρτίου 2012 Δημοσ. 14 Μαρτίου 2012 $query = mysql_query("SELECT * FROM table WHERE first_name LIKE '%$name%' OR address LIKE '%$address%' OR city LIKE '%$city%'"); while($r = mysql_fetch_array($query)) { echo $r['address']; //or whatever }
greeker Δημοσ. 14 Μαρτίου 2012 Μέλος Δημοσ. 14 Μαρτίου 2012 ευχαριστώ.. χρειάζομαι όμως ένα πιο συνοπτικό-γενικό ερώτημα που να κάνει για όλους τους πίνακες χωρίς να αναφέρω τα πεδία του.. γτ αλλιώς θα γεμίσω με if-else τον κώδικα και θέλω να το αποφύγω... βρήκα την describe table εντολή που σου επιστρέφει έναν πίνακα που στη στήλη Field έχει τα ονόματα των στηλών του table.. έτσι πρέπει να γίνεται με λίγο κώδικα.. έχει μήπως κάποια απευθείας εντολή; EDIT: κατέληξα σε αυτό και το μοιράζομαι με όποιον χρειαστεί κάτι παρόμοιο > <?php $table = "tablename"; $search_string = "όρος αναζήτησης"; $result = mysql_query("describe $table"); while($row = mysql_fetch_array($result)) { $field = $row['Field']; $query = "SELECT * FROM $table WHERE $field like '%$search_string%'"; $result1 = mysql_query($query); $nr_of_results = mysql_num_rows($result1); echo "{$row['Field']} - {$row['Type']} Αποτελέσματα για $search_string $nr_of_results ($query) <br />"; } ?> και αυτό με πάει στην επόμενη ερώτηση: πώς κάνω concatenate τα διάφορα $result που θα παίρνω?
dewn735 Δημοσ. 14 Μαρτίου 2012 Δημοσ. 14 Μαρτίου 2012 Δε ξέρω μήπως θα ήταν καλύτερα αν έκανες μία μόνο κλήση στη mysql, χρησιμοποιώντας τη union: >$query=""; $unionflag=0; while($row = mysql_fetch_array($result)) { if ($unionflag) $query.= " UNION "; $field = $row['Field']; $query .= "SELECT COUNT(*) as total, '$field' as field, id FROM $table WHERE $field like '%$search_string%'"; $unionflag=1; } $res=mysql_result($query); while ($row=myswl_fetch_array) { echo "Αποτελέσματα για στήλη ".$row['field'] .": ".$row['total']."<br />"; } πώς κάνω concatenate τα διάφορα $result που θα παίρνω? Τι ακριβώς θες να κάνεις και, το κυριότερο, για ποιο λόγο ψάχνεις σε όλες τις στήλες; Δε ξέρεις περίπου που θα γίνεται η αναζήτηση;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα