Πως γεμίζω μεταβλητή Από mysql

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

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

Απάντηση
Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

Πως γεμίζω μεταβλητή Από mysql

Δημοσίευση από Isset1988 » 25 Νοέμ 2011 13:49

Καλησπέρα παιδιά!

Έχω μια απορία σχετικά με την ανάκτηση δεδομένων από μια βάση δεδομένων.

Για να εκτελέσω ένα ερώτημα, θα πρέπει να χρησιμοποιήσω το if & while statement?

πχ. Έτσι, δεν καταχωρείτε τίποτα μέσα στο $r:

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

$r = mysql_query (SELECT email FROM reply WHERE reply='$count') 

Θα πρέπει κάθε φορά να χρησιμοποιώ το εξής για να εκχωρώ σε μεταβλητή?

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

  πχ.
$query = "SELECT email FROM reply_tickets WHERE reply='$count'";
  if ($r = mysql_query ($query)){
            while ($row = mysql_fetch_array($r)){
                  $to = "{$row['email']}";
                    }
          }

Καμιά άλλη ιδέα για να εκτελώ ερώτημα χωρίς if και while?

Ευχαριστώ!
Εικόνα

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως γεμίζω μεταβλητή Από mysql

Δημοσίευση από dva_dev » 25 Νοέμ 2011 17:08

Το θέμα είναι να ζητήσεις από τη βάση να σου φέρει κάποια δεδομένα και να τα διαβάσεις. Για αυτό το πράγμα δεν χρειάζεσαι ούτε το if ούτε το while, αλλά το mysql_query και το mysql_fetch_array. Οπότε όχι, δεν χρειάζεσαι ούτε if, ούτε while, ούτε for, ούτε οτιδήποτε άλλο, για να γεμίσεις μια μεταβλητή από mysql.

Π.χ.

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

$query = "SELECT email FROM reply_tickets WHERE reply='$count'";
$r = mysql_query ($query);
$row = mysql_fetch_array($r);
$to = $row['email'];
echo $to;
Εχω την εντύπωση πάντως πως ρωτάς άλλο πράγμα από αυτό που θέλεις να μάθεις.

Άβαταρ μέλους
xmavidis
Honorary Member
Δημοσιεύσεις: 1217
Εγγραφή: 02 Δεκ 2003 19:59
Τοποθεσία: Ηράκλειο

Πως γεμίζω μεταβλητή Από mysql

Δημοσίευση από xmavidis » 25 Νοέμ 2011 19:01

Αυτό όμως θα γυρίσει μόνο την πρώτη εγγραφή.

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

$query = "SELECT email FROM reply_tickets WHERE reply='$count'"; 
$r = mysql_query ($query); 
$row = mysql_fetch_array($r); 
$to = $row['email']; 
echo $to;
Αν το query επιστρέψει περισσότερες εγγραφές πρέπει να χρησιμοποιήσουμε ένα while loop
για να πάρουμε όλες τις εγγραφές:

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

$query = "SELECT email FROM reply_tickets WHERE reply='$count'"; 
$r = mysql_query ($query) or die(mysql_error()); 
$to = array(); // create an array
while($row = mysql_fetch_array($r)) { 
     $to[] = $row['email']; 
}
Με αυτόν τον τρόπο έχουμε όλα τα emails στο array $to, το οποίο μπορούμε πλέον να χρησιμοποιήσουμε στη συνέχεια του κώδικα.
I want to know God’s thoughts; the rest are details.
Albert Einstein

Άβαταρ μέλους
Isset1988
Δημοσιεύσεις: 44
Εγγραφή: 25 Νοέμ 2011 12:52
Τοποθεσία: California

Πως γεμίζω μεταβλητή Από mysql

Δημοσίευση από Isset1988 » 26 Νοέμ 2011 11:02

Πήρα τις απαντήσεις μου :)
Πίστευα μπας κ γίνεται πιο εύκολα από αυτό που προτείνεις εσύ dva_dev. (Το if το χρησιμοποιούσα σε περίπτωση που δεν μπορεί να βρεί το table- να βγάλει error.)

Σας ευχαριστώ πολύ για τις απαντήσεις σας παιδιά :D
Εικόνα

Απάντηση

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

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

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