php sessions

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

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

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

php sessions

Δημοσίευση από fafos » 10 Ιαν 2010 00:06

$current=mysql_db_query("e-shop",$current);
otan dhmioyrgeis mia diaxeirish feiaxneis mia lista me ta proionta sou.. se authn thn lista epilegeis poio proion thes na kanei edit (p.x. patontas ton titlo) kai se metaferei se mia nea selida (p.x product_edit.ph?id=123) opou kaneis thn epeksergasia..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

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

php sessions

Δημοσίευση από dva_dev » 10 Ιαν 2010 00:08

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

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

mysql_query("UPDATE Products SET stock = stock + $stock WHERE product ='$name'");
χωρίς select και num_rows.

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 00:16

dva_dev έγραψε:
χρησιμοποιείται για να μετρήσει το υπάρχον stock ώστε να προσθεθεί πάνω σε αυτό το στοκ που συμπληρώνουμε.
Αν δεν το εμφανίζεις πουθενά τότε αρκεί ένα

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

mysql_query("UPDATE Products SET stock = stock + $stock WHERE product ='$name'");
χωρίς select και num_rows.
Ευχαριστώ!! :lol:
μπορώ να αποφύγω το να πρέπει να γράφει ο χρήστης το όνομα του product (βλ. $name) αλλά να υπάρχει μια λίστα με τα products που έχει ο πίνακας και να επιλέγω μόνο τα κομμάτια που θέλω να προσθεθούν? ?

edit:

έτσι φτιάνω μια λίστα/μενου με τα δεδομένα του products .

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

<? session_start&#40;&#41;; ?>

<form id="form1" name="form1" method="post" action="process.php">
	<p>
	  <?
	mysql_connect&#40;"localhost", "root", "root"&#41; or die&#40;mysql_error&#40;&#41;&#41;;
	mysql_select_db&#40;"e-shop"&#41; or die&#40;mysql_error&#40;&#41;&#41;;
	$query = "SELECT product FROM Products";
	$result=mysql_query&#40;$query&#41;;
	if&#40;mysql_num_rows&#40;$result&#41; > 0&#41;&#123; 
	echo&#40;"<select name="selectItem">"&#41;; 
	while&#40;$row = mysql_fetch_object&#40;$result&#41;&#41;&#123; 
	echo&#40;"<option value="$row->product_id">$row->product</option>"&#41;; 
	&#125; 
	echo&#40;"</select>"&#41;; 
	&#125; 
	else&#123; 
	echo&#40;"<i>No values found</i>"&#41;; 
	&#125; 
	?>
	  <label>
	    <input type="text" name="order" id="order" />
      </label>
  </p>
	<p>
	  <label>
	    <input type="submit" name="button" id="button" value="Submit" />
      </label>
	</p>
</form>
τώρα στην process.php πως μπορώ να πάρω το select που έχει γίνει παραπάνω στη λίστα? δοκίμασα με $_POST['product_id'] αλλα κάτι κάνω λάθος πάλι.... [/code]

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

php sessions

Δημοσίευση από dva_dev » 10 Ιαν 2010 11:07

Αν κάπου χάνεις το μπούσουλα κάνε απλά:

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

echo '<pre>get&#58;',print_r&#40;$_GET&#41;,'</pre>';
echo '<pre>post&#58;',print_r&#40;$_POST&#41;,'</pre>';
και θα δεις τι έχεις. Το γιατί έχεις αυτό που έχεις, μόνο στον κώδικα σου θα το δεις.

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 12:16

βάζοντας στο process.php τα 2 echo που μου έδωσες dva_dev και διλώνωντας 5 στην φόρμα του stock πέρνω

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

5
post&#58;Array
&#40;
    &#91;selectItem&#93; => 
    &#91;order&#93; => 5
    &#91;button&#93; => Submit&#41;
1
get&#58;Array
&#40;&#41;
1
Το order γίνεται 5 κανονικά. πως μπορώ να πάρω το selectItem ώστε να ξέρω ποιο είδος έχει παραγγείλει ο χρήστης ώστε να ελέγξω αν υπάρχει στοκ και να προχωρήσει στην παραγγελία?

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

php sessions

Δημοσίευση από dva_dev » 10 Ιαν 2010 12:28

Το $_POST['selectItem'] δεν δουλεύει;

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 12:34

οχι δεν μου εμφανίζει τίποτα. επισυνάπτω τον κώδικα και των 2 σελίδων μήπως ξεχνάω κάτι?
shop.php

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

<? session_start&#40;&#41;; ?> 

<form id="form1" name="form1" method="post" action="process.php"> 
   <p> 
     <? 
   mysql_connect&#40;"localhost", "root", "root"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
   mysql_select_db&#40;"e-shop"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
   $query = "SELECT product FROM Products"; 
   $result=mysql_query&#40;$query&#41;; 
   if&#40;mysql_num_rows&#40;$result&#41; > 0&#41;&#123; 
   echo&#40;"<select name=\"selectItem\">"&#41;; 
   while&#40;$row = mysql_fetch_object&#40;$result&#41;&#41;&#123; 
   echo&#40;"<option value=\"$row->product_id\">$row->product</option>"&#41;; 
   &#125; 
   echo&#40;"</select>"&#41;; 
   &#125; 
   else&#123; 
   echo&#40;"<i>No values found</i>"&#41;; 
   &#125; 
   ?> 
     <label> 
       <input type="text" name="order" id="order" /> 
      </label> 
  </p> 
   <p> 
     <label> 
       <input type="submit" name="button" id="button" value="Submit" /> 
      </label> 
   </p> 
</form>
process.php

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

<? session_start&#40;&#41;; 
$order = $_POST&#91;'order'&#93;;
echo $order;
   echo '<pre>post&#58;',print_r&#40;$_POST&#41;,'</pre>'; 
   echo '<pre>get&#58;',print_r&#40;$_GET&#41;,'</pre>'; 
echo $_POST&#91;'selectItem'&#93;;
?>

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

php sessions

Δημοσίευση από Apostolis_38 » 10 Ιαν 2010 13:12

Μετά το while αντί για αυτό:

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

 echo&#40;"<option value=\"$row->product_id\">$row->product</option>"&#41;;
δοκίμασε αυτό:

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

echo "<option value=".$row&#91;"product_id"&#93;.">".$row&#91;"product_id"&#93;."</option>" ;
να δείς αν σου φέρνει τιμές

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 13:23

echo "<option value=".$row["product_id"].">".$row["product_id"]."</option>" ;
τώρα εμφανίζεται το combo box αλλά χωρίς τις επιλογές μέσα. χειρότερα :s

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

php sessions

Δημοσίευση από dva_dev » 10 Ιαν 2010 13:27

Αλλαξε το

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

$query = "SELECT product FROM Products";
σε

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

$query = "SELECT product_id, product FROM Products";
Επειδή έφερνες μόνο το
$row->product
και όχι το
$row->product_id
Τελευταία επεξεργασία από το μέλος dva_dev την 10 Ιαν 2010 13:29, έχει επεξεργασθεί 1 φορά συνολικά.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

php sessions

Δημοσίευση από Apostolis_38 » 10 Ιαν 2010 13:28

:D
Πρίν τι εμφάνιζε δηλαδή;

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 13:36

dva_dev έγραψε:Αλλαξε το

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

$query = "SELECT product FROM Products";
σε

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

$query = "SELECT product_id, product FROM Products";
Επειδή έφερνες μόνο το
$row->product
και όχι το
$row->product_id
δούλεψε! στο process πέρνω πχ [selectItem] => 15 δλδ το product_id του είδους που επέλεξα πριν. ευχαριστώ πολύ!

IzMbit
Δημοσιεύσεις: 72
Εγγραφή: 17 Ιαν 2009 16:23

php sessions

Δημοσίευση από IzMbit » 10 Ιαν 2010 14:35

δεν κτλβαίνω γιατί δεν κάνει δουλειά. το query δουλέυει σωστά στο php myadmin.
έχoντας πάρει τώρα το product_id και το order για την παραγγελία, θέλω να τσεκάρω αν το order > stock ώστε να βγάζει δεν υπάρχει στοκ.. To stock2 γιατί παίρνει τιμή "Resource id #4" και όχι το αποτέλεσμα του query?

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

<? session_start&#40;&#41;; 
$order = $_POST&#91;'order'&#93;; 
$stock= $_POST&#91;'selectItem'&#93;;
	mysql_connect&#40;"localhost", "root", "root"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
    mysql_select_db&#40;"e-shop"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
	$query = "SELECT stock FROM Products WHERE product_id='$_POST&#91;selectItem&#93;'";
	$stock2=mysql_query&#40;$query&#41;;
	echo $stock2;
if &#40;$order > $stock2&#41; &#123;
	echo "not enough stock!";
	&#125; 
else &#123;
	echo "ordered";
	&#125;
?>  

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

php sessions

Δημοσίευση από dva_dev » 10 Ιαν 2010 14:43

Πρώτα κάνε απλά πράγματα μέχρι να μάθεις να δουλεύεις με βάσεις δεδομένων.
Μετά είναι ΑΠΑΡΑΙΤΗΤΟ να μάθεις πως να βρίσκεις πληροφορίες για τις εντολές της mysql στο σχετικό manual που υπάρχει.
Μετά είναι απαραίτητο να διαβάσεις και τα παραδείγματα που υπάρχουν μετά από κάθε επεξήγηση της εντολής.

Οτι χρειάζεσαι υπάρχει ήδη εκεί. Το μόνο που χρειάζεται είναι να αφιερώσεις λίγο χρόνο να το διαβάσεις.

[edit]
Για να έχεις κάτι να ξεκινήσεις το διάβασμα.
http://php.net/manual/en/book.mysql.php
http://php.net/manual/en/ref.mysql.php
[/edit]

Απάντηση

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

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

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