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

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

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

  • 0
chris_psycho

Μικρή βοήθεια σε php και sql

Ερώτηση

Θέλω από μία βάση δεδομένων που έχει τα εξής:

 

id, catid, userid και score

 

Θέλω να κάνω με ένα αρχείο php τη σύνδεση με την βάση δεδομένων που νομίζω ότι γίνεται έτσι:

 

>$result = mysql_query("SELECT * FROM scores");
$userid = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE user='".USERNAME."'"));
$userid = $userid['id'];

 

και μετά αν το score είναι πχ. πάνω από 3 στην κατηγορία με catid=2 να εμφανίζεται ένα μήνυμα.

Αν το score στην κατηγορία με catid=3 είναι πάνω από 4 να εμφανίζεται από κάτω και ένα άλλο μήνυμα.

 

Μπορείτε να βοηθήσετε? Σας ευχαριστώ πάρα πολύ προκαταβολικά!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

2 απαντήσεις σε αυτή την ερώτηση

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

ρε παιδιά δείτε λίγο γιατί έχω μπερδευτεί:

 

>$result = mysql_query("SELECT * FROM scores");
$userid = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE user='".USERNAME."'"));
$userid = $userid['id'];

while($row = mysql_fetch_array($result))

 {
 
if (($row['score']==5) && ($userid==$row['userid']) && ($row['catid']== 6)){
  if (($row['score']>=4) && ($userid==$row2['userid']) && ($row['catid']== 7))
{echo "...";}

if (($row['score']==5) && ($userid==$row['userid']) && ($row['catid']== 6)){
  if (($row['score']>=4) && ($userid==$row['userid']) && ($row['catid']== 2)){
if (($row['score']>=4) && ($userid==$row['userid']) && ($row['catid']== 3))
{echo "...";}

Δηλαδή η βάση δεδομένων μου έχει:

 

id catid userid score

11 1 1 3

12 2 1 4

13 3 1 2

14 4 1 5

15 5 1 4

16 6 1 5

17 7 1 5

18 8 1 4

 

Και θέλω αν ο χρήστης είναι αυτός που έχει κάνει login (όπως το έχω δηλ.) και έχει score στην κατηγορία 4 μεγαλύτερο από 4 (catid>=4) και στην κατηγορία 5 μεγαλύτερο από 3 (catid>=3) τότε να βγαίνει ένα μήνυμα, αλλιώς αν... και αν... να βγαίνει ένα άλλο μήνυμα. Αν ισχύουν και οι 2 περιπτώσεις να βγαίνει το ένα μήνυμα κάτω από το άλλο!

 

Μπορεί κανείς να βοηθήσεις;;

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Βρες πρώτα το userid και μετά επέλεξε τα rows από το table scores που αντιστοιχούν μόνο σε αυτό το χρήστη. Οι if() από εκεί και πέρα είναι εύκολη υπόθεση.

 

>
$userid = mysql_result(mysql_query("SELECT id AS userid FROM users WHERE username = 'USERNAME' "), "userid");

$result = mysql_query("SELECT * FROM scores WHERE userid = $userid ");

while($data = mysql_fetch_array($result)) {
 if($data[catid] == X && $data[score] == Y)
    echo "You message.";
 if(...)
    echo "...";
 ....
}

 

Ελπίζω να βοήθησα.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
×
×
  • Δημιουργία νέου...