Προς το περιεχόμενο

Php Mysql πως επιλεγω κατηγοριες απο τη βαση


vasharal

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σε όλους... θα ήθελα να μου δώσετε τα φώτα σας γιατι δεν σκαμπάζω. έχω εργασια όπου πρέπει να φτιάξω ενα mini e-shop. Εχω την ιδεα(e-shop με βινυλια), έχω και τον πίνακα (`eshop') με τα εξης πεδία (`id`, `image`, `artist`, `album`, `category`, `quantity`, `price`) και μετά σκοτάδι... μήπως γνωριζει κάποιος να μου πει με ποιον τρόπο γίνεται να επιλέγει ο χρήστης με βαση την κατηγορια (`category`=rock,ballands,reggae) και να τραβαω από τη βάση μόνο τις εγγραφες αυτης της κατηγορίας?

Δημοσ.

Καλημέρα.

 

Το SQL ερώτημα για να τραβάς τις εγγραφές είναι τετριμμένο:

>
SELECT *
FROM eshop
WHERE category IN ('category_1', ..., 'category_N');

 

όπου category_1, ..., category_N το σύνολο των κατηγοριών που ο χρήστης θα έχει επιλέξει για τις εγγραφές που θέλει να προβληθούν.

 

Δυσκολεύεσαι σε κάποιο άλλο σημείο πριν από αυτό το στάδιο; Π.χ. πώς να παρουσιάζεις στον χρήστη λίστα με τις κατηγορίες από τις οποίες θα επιλέγει... ;

Δημοσ.

Βασικά το μόνο σημείο που δεν δυσκολευομαιείναι η sql αντίθετα με την php που δεν έχω ιδέα. Πως θα βάλω το ερώτημα στην php? Πως θα εμφανίσω τη λίστα? θέλω μόλις ο χρήστης επιλέξει κατηγορία να εμφανιστουν όλα τα στοιχεια της κατηγορίας σε έναν πινακα. Ο πίνακας θα έχει την ίδια μορφη για όποια κατηγορία και να επιλεγει. Πως θα ειναι αυτο το αρχειο τελοσπάντων??? ΟΟυυυφφφφ.. αν είχες κατι να με βοηθησεις να πατησω πανω.. :(

Δημοσ.

Καλησπέρα και από μένα,

 

Μπορείς να το κάνεις με πολλούς τρόπους..

 

Ένας απλός τρόπος είναι να googlάρεις και να βρεις μια σελίδα όπως αυτή εδώ ... http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/retrieve-data-from-a-mysql-database.aspx

 

Μπορείς είτε να χρησιμοποιείς την εντολή echo που απλά σου κάνει ένα υποτυπώδες print, είτε να φτιάξεις ένα πίνακα και να σου τα έχει πιο οργανωμένα όλα. Μπορείς να κάνεις 1002 πράγματα. Μία μικρή συμβουλή γιατί έχω περάσει από το στάδιο σου(αν είσαι φοιτητής πληροφορικής)... Ποτέ μην ζητάς μασημένη τροφή. Ψάξε το μόνος σου και στο τέλος το θετικό είναι πως αυτό που ανακάλυψες μόνος σου θα σου μείνει και δεν θα το ξεχάσεις ποτέ!

 

Προσπάθεια θέλει φίλε μου και κυρίως υπομονή(ελπίζω να έχεις γιατί εγώ δεν είχα)!

 

Καλή επιτυχία με την εργασία σου!

Δημοσ.
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>Vynilshop</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="el" />
</head>
<body>
<?php

// Εδώ ο κώδικας που "ανοίγει" τη βάση
$connection = mysql_connect('<host>', '<username>', '<password>');
if (!$connection) {
 die('Could not connect: ' . mysql_error());  // Τυπώνεις το μήνυμα σφάλματος αν δεν είναι επιτυχής η σύνδεση
}

// Επιλέγεις τη βάση δεδομένων σου
$dbname = '<db_name>';
mysql_select_db($dbname);

// Δημιουργείς τις κατηγορίες
$cat1 = 'rock';
$cat2 = 'pop';
$cat3 = 'reggae';

// Τις πετάς σε ένα array
$categories = array($cat1, $cat2, $cat3);

// Κατασκευάζεις το σταθερό μέρος του query string
$query = "SELECT * FROM albums WHERE album_category IN (";

// Προσθέτεις στο query string τις κατηγορίες που σε ενδιαφέρουν (αυτές που πέταξες στο array)
foreach ($categories as $category){
 $query .= "'".$category."', ";
}

$query = substr($query,0,-2).")"; // κόβεις το τελευταίο ", " και "κλείνεις" το query string

$result = mysql_query($query); // τρέχεις το query
?>

<!--- Φτιάχνεις τον πίνακα των αποτελεσμάτων -->
<table id="results">

 <!--- Αυτή είναι η σειρά με τα ονόματα των πεδίων του πίνακα -->
 <tr>
   <th>Όνομα δίσκου</th>
   <th>Καλλιτέχνης</th>
   <th>Κατηγορία</th>
 </tr>

<?php

// Παίρνεις ένα ένα τα αποτελέσματα και πετάς τις επί μέρους πληροφορίες σε μεταβλητές
while ($row = mysql_fetch_array($result)){
 $album = $row['album_name'];
 $artist = $row['album_artist'];
 $category = $row['album_category'];

 // Για κάθε match τυπώνεις και μια γραμμή πίνακα με όλες τις απαραίτητες πληροφορίες
 print "<tr>\n\t<td>$album</td>\n\t<td>$artist</td>\n\t<td>$category</td>\n</tr>\n";
}

// Κλείνεις τη βάση
mysql_close($connection);

?>
</table>
<!--- Τέλος πίνακα -->
</body>
</html>

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...