Mysql Query Question...

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

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

Απάντηση
Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 19 Νοέμ 2005 13:12

Kalhmera sas!!!!

exo mia erothsh, pos mporo na po se ena query na mou stelnei 2,h 3 times th fora?... na leo as poume deixe mou ola apo pinaka lessons opou lesson_code einai iso me '1' KAI iso me '4' kai iso me '8'..
PX

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

<?php
mysql_select_db&#40;$database_info, $info&#41;;
$query_Recordset1 = "SELECT * FROM LESSONS WHERE lesson_code = '1' ,'2' , '4' , '6' ";
Dhladh pos mporo na leo se ena query oti me endiaferei parapano apo mia timh se ena pedio na mou tis emfanizei?

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

Mysql Query Question...

Δημοσίευση από billt » 19 Νοέμ 2005 13:31

mysql_select_db($database_info, $info);
$query_Recordset1 = "SELECT * FROM LESSONS WHERE (lesson_code = '1' OR lesson_code='2' OR κτλ )";

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 19 Νοέμ 2005 13:35

teleia tha to dokimaso tora!!

na sai kala billt

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 19 Νοέμ 2005 13:44

re sy billt...... den yparxei diatyposh pou na leei kai to ena kai to allo?

auto pou grafeis pano parousiazei mono thn teleutaia timh pou tou dineis..

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

mysql_select_db&#40;$database_info, $info&#41;; 
$query_Recordset1 = "SELECT * FROM LESSONS WHERE &#40;lesson_code = '1' OR lesson_code='2' OR κτλ &#41;";
den mporo na diatyposo kati san to parakato?

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

mysql_select_db&#40;$database_info, $info&#41;; 
$query_Recordset1 = "SELECT * FROM LESSONS WHERE &#40;lesson_code = '1' AND lesson_code='2' OR κτλ &#41;";
oste na ta deixnei kai ta dyo?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Mysql Query Question...

Δημοσίευση από fafos » 19 Νοέμ 2005 15:17

Den ksero an katalava kala alla dokimase to parakato:

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

mysql_select_db&#40;$database_info, $info&#41;;
$query_Recordset1 = "SELECT lesson_id FROM LESSONS WHERE lesson_code='1' AND lesson_code='2' AND κτλ";
$r1 = mysql_query&#40;$query_Recordset1&#41; or die&#40;mysql_error&#40;&#41;&#41;;

//emfanish apotelesmatos
if&#40;mysql_num_rows&#40;$r1&#41; > '0'&#41;
&#123;
	while&#40;$a1 = mysql_fetch_array&#40;$r1&#41;&#41;
	&#123;
		$makes .= "$a1&#91;lesson_code&#93;<br>\n\t";
	&#125;
&#125;

$Mmake .=$makes;

echo $Mmake

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 19 Νοέμ 2005 15:39

To dokimazo amesos fafos!

Gia na gino katanoitos, mia selida me checkboxes pou exo stelnei ta checkarismena checkboxes se mia allh selida No2(thn ypofenomenh..) kai thelo na emfanizei tis egrafes analoga me to ti exei checkarei o xrhsths sthn prohgoumenh selida,

to na emfanizo ti exei checkarei o xrhsths sthn prohgoumenh selida to katafera, sto query omos den mporo na katalavo pos mporo na to kano..

pao na to dokimaso kai erxomai!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Mysql Query Question...

Δημοσίευση από fafos » 19 Νοέμ 2005 16:37

Nomizo oti den xreiazete na kaleis auta ta pedia meso query.. aplos kaleis ta panta apo to analogo table kai me vash kapoio monadiko id pou dinei se kapoia epilogh tou xrhsth (ypotheto oti me to submit sthn selida 1 kanei kapoia eggrafh sthn vash)... isos kano lathos giati den exo safh eikona...

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

Mysql Query Question...

Δημοσίευση από billt » 19 Νοέμ 2005 18:12

Πόσες τιμές έρχονται από την προηγούμενη σελίδα, δηλαδή μπορεί κάποιος να κάνει check περισσότερα από ένα box? Είναι δεδομένος ο αριθμός των check boxes? Αν ας πούμε έχεις τα check1, check2 κτλ θα μπορούσες να κάνεις κάτι σαν :
if(isset($check1)){ echo $info1 ;}
if(isset($check2)){ echo $info2 ;}
κτλ



Ελπίζω να τα θυμάμαι καλά :D Αν θέλεις δείξε μας τον κώδικα από τη φόρμα και από τη σελίδα με τα queries για να καταλάβουμε καλύτερα.

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Mysql Query Question...

Δημοσίευση από shadow » 19 Νοέμ 2005 23:56

Οταν γράφεις ένα query σε μια βάση δεδομένων βάζεις κάποια κριτήρια που θελεις να τηρούν τοι εγγραφές που θα σου επιστραφούν.
Τελεστής AND:
Τα fields του πίνακα πρέπει να τηρούν όλες τις συνθήκες που εσωκλείονται στο query,
ερώτημα: επέστρεψε όλες τις εγγραφες όπυ ο κωδικός τους είναι ίσος με 1 "ΚΑΙ" ίσος με 2 "ΚΑΙ" ίσος με 3, (εντελως χαζό παράδειγμα, αφού κάθε fields εχει μόνο μία τιμή )
lesson_code = {1 , 2 ,3}

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

$result = mysql_query&#40;"SELECT * FROM lessons WHERE lessonn_coe=1 AND lesson_code=2 AND lesson_code=3;", $connection&#41;;
Ο τελεστής AND έχει νόημα όταν εφαρμόζεις κριτήρια μεταξώ των διάφορων fields του πινακά σου,
ερώτημα: επέστρεψε όλες τις εγγραφές όπου ο κωδικός τους είναι ίσος με 1 και έχουν (πχ) διάρκεια 2 ώρες

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

$result = mysql_query&#40;"SELECT * from lessons where lesson_code=1 AND duration=2;", $connection&#41;;
Τελεστής OR:
Τα fields του πίνακα αρκεί να τηρούν έστω μία από τις συνθήκες του ερωτήματος. Οσες εγγραφές τηρούν έστω μια συνθήκη θα επιστραφούν από το ερώτημα.
Ερώτημα: επέστρεψε όλες τις εγγραφές που έχουν κωδικό "είτε" 1 "είτε" 2 , "είτε" 3
lesson_code = {1}. lesson_code={2}, lesson_code={3}

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

$result = mysql_query&#40;"SELECT * FROM lessons WHERE lesson_code=1 OR lesson_code=2 OR lesson_code=3;", $connection&#41;;
Υποθέτω ότι στο συγκεκριμένο παράδειγμα το lesson_code αναφέρεται στο primary key. Εφόσον το lesson_code είναι μοναδικό για κάθε εγγραφή είναι λογικό η εφαρμογή του τελεστή AND να επιστρέψει ένα και μόνο ένα αποτέλεσμα. Εφόσον θες να τραβήξεις από την βάση σου όλες τις εγγραφες των οποιων το code είναι "ειτε" 1 , είτε 2, είτε 3 , θα πρέπει να εφαρμόσεις τον OR τελεστή. Αρα η λύση στο πρόβλημα σου είναι η εφαρμογή του OR τελεστή...
Το γεγόνός ότι σου επιστρέφει μόνο ένα αποτέλεσμα το ερώτημα που εκτελείς μπορέι να οφείλεται σε διάφορους παράγοντες:
α. υπάρχει μόνο μια εγγραφή που τηρεί έστω μία από τις σύνθήκες του ερωτήματος
β. Human Erron :) , υπάρχουν παραπάνω εγγραφές αλλά πως παίρνεις τις εγγραφές που σου επιστρέφει το query? Μπαίνεις μέσα σε loop για να εμφανίσεις όλα τα records?

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

/**** first example&#58;print all records ****/
while&#40;$row = mysql_fetch_row&#40;$result&#41;&#41;
   print_r&#40;$row&#41;; //ektupwsi olwn twn apotelesmatwn

/***** second example&#58; print only one record ****/
$row = mysql_fetch_row&#40;$result&#41;;
print_r&#40;$row&#41;; //ektipwsi mono toy 1ou apotelesmatos
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 20 Νοέμ 2005 03:37

Paroti telika to provlhma mou luthike, paratheto pio kato kai ton kodika dioti den einai sigoura o kalyteros kathoti an eixa pio polles times na elegxo (100 px) den tha prolavena na grafo!!!! :D ta pedia pou mporei o xrhsths na tsekarei einai apo 1 eos 10, telika to query me xrhsh tou OR kanei douleia gia thn emfanish auto pou den mporo na kano einai na grapso to query etsi oste na pernei tis times pou exei tsekarei o xrhsths sthn prohgoumenh..

selida 1 :

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

<?php require_once&#40;'Connections/info.php'&#41;; ?>
<?php mysql_select_db&#40;$database_info, $info&#41;;
$query_Recordset1 = "SELECT lesson_code FROM LESSONS";
$Recordset1 = mysql_query&#40;$query_Recordset1, $info&#41; or die&#40;mysql_error&#40;&#41;&#41;;
$row_Recordset1 = mysql_fetch_assoc&#40;$Recordset1&#41;;
$totalRows_Recordset1 = mysql_num_rows&#40;$Recordset1&#41;;?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test For Checkbox...</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="check_result.php">
   <table width="200" border="1">
	<tr>
    <td><div align="center">checkbox</div></td>
    <td><div align="center">num</div></td>
    </tr>
    <tr>
    <?php do &#123; ?>
	</td>
	</td>
	</tr>
	<tr>
    <td height="25"><div align="center">
		
<input name="box&#91;&#93;" type="checkbox" id="box" value="<?=$row_Recordset1&#91;'lesson_code'&#93;;?>" />
        
    </div></td>
    <td><div align="center"><?php echo $row_Recordset1&#91;'lesson_code'&#93;; ?></div></td>
    </tr>
	           
	<?php &#125; while &#40;$row_Recordset1 = mysql_fetch_assoc&#40;$Recordset1&#41;&#41;; ?></tr>
    </table>
        
		<? $count = count&#40;$box&#41;; for&#40;$i=0; $i<$count; $i++&#41; &#123; ?> <br /> <? echo "checkbox $i has value $box&#91;$i&#93;"; &#125; ?>

<input type="submit" name="Submit" value="Submit" />

</form>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result&#40;$Recordset1&#41;;
?>
Selida 2:

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

<?php require_once&#40;'Connections/info.php'&#41;; ?>
<?php
mysql_select_db&#40;$database_info, $info&#41;;
$count = count&#40;$box&#41;;
$query_Recordset1 = "SELECT * FROM LESSONS WHERE lesson_code = '$box&#91;0&#93;' OR lesson_code = '$box&#91;1&#93;' OR lesson_code = '$box&#91;2&#93;' OR lesson_code = '$box&#91;3&#93;' ";
																 
$Recordset1 = mysql_query&#40;$query_Recordset1, $info&#41; or die&#40;mysql_error&#40;&#41;&#41;;
$row_Recordset1 = mysql_fetch_assoc&#40;$Recordset1&#41;;
$totalRows_Recordset1 = mysql_num_rows&#40;$Recordset1&#41;;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1253" />
<title>Check Result ...</title>
</head>

<body>
<p>
<? $count = count&#40;$box&#41;;
   for&#40;$i=0; $i<$count; $i++&#41; &#123; ?>
   <br />
   <? $counter = $i + 1 ; ?>
   <? echo "checkbox $counter has value $box&#91;$i&#93;"; &#125; ?><br><br>
   
   
   
   <? $count = count&#40;$box&#41;;
   for&#40;$i=0; $i<$count; $i++&#41; &#123; ?>
   
   <? $counter = $i + 1 ; ?>
   <? echo "OR lesson_code = '$box&#91;$i&#93;'" ; &#125; ?>

</p>
<p>&nbsp;</p>
<table border="1">
  <tr>
    <td><div align="center">ID</div></td>
    <td><div align="center">Code</div></td>
    <td><div align="center">Name</div></td>
    <td><div align="center">Author</div></td>
  </tr>
  <?php do &#123; ?>
    <tr>
      <td><div align="center"><?php echo $row_Recordset1&#91;'lesson_id'&#93;; ?></div></td>
      <td><div align="center"><?php echo $row_Recordset1&#91;'lesson_code'&#93;; ?></div></td>
      <td><div align="center"><?php echo $row_Recordset1&#91;'lesson_name'&#93;; ?></div></td>
      <td><div align="center"><?php echo $row_Recordset1&#91;'lesson_author'&#93;; ?></div></td>
    </tr>
    <?php &#125; while &#40;$row_Recordset1 = mysql_fetch_assoc&#40;$Recordset1&#41;&#41;; ?>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="test_for_checkbox.php">Back...</a></p>
</body>
</html>
<?php
mysql_free_result&#40;$Recordset1&#41;;
?>
oi times pou tsekarei o xrhsths mporoun kai fainontai kathos to query fernei piso mono tis times pou yparxoun opote den fernei alla ektos apo ta tsekarismena... alla tha prepei logika na yparxei pio sostos tropos na grapseis ton elegxo ton metavlhton sto query...kai oxi mia-mia opos ekana ego ligo "bakalotefterovlaxika... :hammer: "

oles oi idees euprosdektes!!!!!

Eyxaristo gia ola,

Billis.

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

Mysql Query Question...

Δημοσίευση από bilios » 20 Νοέμ 2005 03:39

Shadow nai egrapsa vlakeia me to and pio pano alla skopima mipos doso kalytera na katalavei kapoios ti zhtao na kano, exeis dikio apoluta..

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Mysql Query Question...

Δημοσίευση από shadow » 20 Νοέμ 2005 09:21

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

$box = &#40;isset&#40;$_POST&#91;'box'&#93;&#41;?$_POST&#91;'box'&#93;&#58;array&#40;&#41;&#41;;
$count = count&#40;$box&#41;;
if&#40;$count&#41;&#123;
        $query_Recordset1 = "SELECT * FROM LESSONS WHERE ";
        $sep="";
        for&#40;$i=0; $i<$count; $i++&#41;&#123;
                $query_Recordset1 .= $sep." lesson_code = '".intval&#40;$box&#91;$i&#93;&#41;."'";
                $sep = " OR ";
        &#125;
        $Recordset1 = mysql_query&#40;$query_Recordset1, $info&#41; or die&#40;mysql_error&#40;&#41;&#41;;
        $row_Recordset1 = mysql_fetch_assoc&#40;$Recordset1&#41;;
        $totalRows_Recordset1 = mysql_num_rows&#40;$Recordset1&#41;;
&#125;
else&#123;
        echo "No checkbox selected";
        exit;
&#125;
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

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

Mysql Query Question...

Δημοσίευση από dva_dev » 20 Νοέμ 2005 09:54

Για πιο σύντομα θα μπορούσες να κάνεις κάτι σαν
SELECT * FROM lessons WHERE lesson_code in (λίστα κωδικών)
π.χ.
SELECT * FROM lessons WHERE lesson_code in ('1','2','3')

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Mysql Query Question...

Δημοσίευση από Rapid-eraser » 20 Νοέμ 2005 19:12

Pfff ... me prolabes gia alli mia fora :)
dva_dev++
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “MySQL”

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

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