προβλημα με insert into

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

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

Απάντηση
Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 03 Δεκ 2009 19:41

καλησπερα σε ολους. καταρχην. εχω ενα καλαθι αγορων. καθε φορα που ο πελατης πατηση στην αποστολη της παραγγελιας η παραγγελια στελνετε σε ενα πινακα. σε αυτο τον πινακα αποθηκευονται το id του προιοντος κτλπ. το προβλημα που εχω ειναι οτι σε περιπτωση που εχω στο καλαθι μου περισσοτερα του ενος προιοντα μεσα στον πινακα ως παραγγελια του πελατι στελνει μονο το ενα προιον. δεν ξερω πως θα το κανω, αναλογος τον αριθμο των προιοντων, να στελνονται και οι αντιστοιχες εγγραφες στον πινακα. Στην ουσια αν πουμε οτι εχουμε 2 προιοντα. το ενα εχει pd_id 12 και το αλλο pd_id 16, να καταχωρισει 2 εγγραφες στον πινακα παραγγελιες που το μονο που στην ουσια θα αλλαζει αναμεσα στης 2 θα ειναι το pd_id και ολα τα υπολοιπα στοιχεια θα ειναι τα ιδια.

ο κωδικας μου προκειμενου να στελνετε η παραγγελια στον πινακα paraggelies και γενικα να περνω καποια στοιχεια.

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

<?php
session_id&#40;&#41;;
session_start&#40;&#41;;
session.bug_compat_42;?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8 without BOM">
<TITLE>Here is Your Shopping Cart!</TITLE>
</HEAD>
<BODY>
<?
$connect = mysql_connect&#40;"localhost", "root", ""&#41; or
die &#40;"Hey loser, check your server connection."&#41;;
mysql_select_db &#40;"eshop"&#41;;
$onoma_proiontos=$_SESSION&#91;'onoma_proiontos'&#93;;
$timi=$_SESSION&#91;'timi'&#93;;
$fotografia=$_SESSION&#91;'fotografia'&#93;;
$username=$_SESSION&#91;'username'&#93;;
$password=$_SESSION&#91;'password'&#93;;
$total=$_POST&#91;total&#93;;

$sessid = session_id&#40;&#41;;
$email=email;
$today = date&#40;"Y-d-m"&#41;;
$katastasi="Υπο επεξεργασια";

$query = mysql_query&#40;"SELECT * from carttemp WHERE username = '$username'"&#41;;
while&#40;$row=mysql_fetch_array&#40;$query&#41;&#41;

if &#40;empty&#40;$query&#41;&#41; &#123;

$prodnum = blank;
$quan=blank;
&#125; else &#123;

$prodnum = $row&#91;'prodnum'&#93;;
$quan=$row&#91;'quan'&#93;;

&#125;

$query2 = mysql_query&#40;"SELECT * from stoixeia_pelati1 WHERE username = '$username'"&#41;;
while&#40;$rows=mysql_fetch_array&#40;$query2&#41;&#41;

if &#40;empty&#40;$query2&#41;&#41; &#123;

$buyer_id = blank;
$onoma=blank;
$epwnimo=blank;
$dieuthinsi=blank;
$poli=blank;
$number=blank;
$tk=blank;

&#125; else &#123;

$buyer_id = $rows&#91;'buyer_id'&#93;;
$onoma=$rows&#91;'onoma'&#93;;
$epwnimo=$rows&#91;'epwnimo'&#93;;
$dieuthinsi=$rows&#91;'dieuthinsi'&#93;;
$poli=$rows&#91;'poli'&#93;;
$number=$rows&#91;'number'&#93;;
$tk=$rows&#91;'tk'&#93;;

&#125;


$query3 =mysql_query&#40;"SELECT *  FROM proionta where pd_id='$prodnum'"&#41;;
while&#40;$rows2=mysql_fetch_array&#40;$query3&#41;&#41;

if &#40;empty&#40;$query3&#41;&#41; &#123;

$onoma_proiontos = blank;
$kataskeuastis=blank;
$timi=blank;
&#125; else &#123;

$onoma_proiontos = $rows2&#91;'onoma_proiontos'&#93;;
$kataskeuastis=$rows2&#91;'kataskeuastis'&#93;;
$timi=$rows2&#91;'timi'&#93;;

&#125;
&#91;b&#93;$sql = "INSERT INTO paraggelies &#40;pd_id, buyer_id, order_id,username,onoma_proiontos, hmer_paraggelias, katastasi_paraggelias, posotita&#41;
VALUES &#40;
'$prodnum',
'$buyer_id',
'$sessid',
'$username',
'$onoma_proiontos',
'$today',
'$katastasi',
'$quan'
&#41; ";
echo mysql_query&#40;$sql&#41;;&#91;/b&#93;

$query6="DELETE FROM carttemp WHERE username = '$username'";
$delete = mysql_query&#40;$query6&#41;;

?>
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 03 Δεκ 2009 19:42

τα τα εβαλα τωρα και δεν υπαρχουν στον κωδικα μου. νομιζα θα τα εκανα bold. σορρυ
miteletsis

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

προβλημα με insert into

Δημοσίευση από fafos » 03 Δεκ 2009 19:52

Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 00:37

ειδα διαφορα tutorials σχετικα με την foreach. δεν ξερω πως θα μπορεσω να την συνδιασω με το insert into που χρησιμοποιειω.
miteletsis

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

προβλημα με insert into

Δημοσίευση από dva_dev » 04 Δεκ 2009 01:27

Για δοκίμασε να βάλεις { πριν το
if (empty($query)) {
και να βάλεις } μετά το
echo mysql_query($sql);[/b]

ώστε όλα αυτά τα περίεργα μαγικά που κάνεις, να γίνονται για κάθε εγγραφή που διαβάζει από το carttemp.

Φυσικά, αν δουλέψει όπως το θέλεις, μετά θέλει πολύ ξεκαθάρισμα ο κώδικας για να μην κάνει τα ίδια πράγματα 100 φορές χωρίς να υπάρχει λόγος.

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

προβλημα με insert into

Δημοσίευση από dimsis » 04 Δεκ 2009 10:43

Άσχετο... <meta http-equiv="Content-Type" content="text/html; charset=utf-8 without BOM">
υπάρχει τέτοιο charset;; wtf;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από korgr » 04 Δεκ 2009 10:47

dimsis έγραψε:Άσχετο... <meta http-equiv="Content-Type" content="text/html; charset=utf-8 without BOM">
υπάρχει τέτοιο charset;; wtf;
lol
Βασικα αν υπηρχε, θα το ηξερε ο Γουγλης και δεν θα επεστρεφε ως πρωτο αποτελεσμα σελιδα απο το ...freestuff :wink:

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 11:19

χρησιμοποιω utf-8 without BOM επειδη ειχα προβλημα μ τα sessions. Αν δεν βαλω το without bom εμφανιζει αορατους χαρακτηρες πριν απο την πρωτη σειρα και μου εμφανιζει το προβλημα: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent. Δεν ξερω αν υπαρχει, αλλα χαρης αυτο δεν εχω πλεον προβλημα :)
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 11:49

dva_dev το δοκιμασα αλλα τπτ. υπαρχει καποιος αλλος τροπος? επειδη περνω στοιχεια απο πολλους πινακες προκειμενου να τα καταχωρησω στις paraggelies μπερδευομαι τρομερα για να χρησιμοποιησ την foreach. αλλη λυση υπαρχει?
miteletsis

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

προβλημα με insert into

Δημοσίευση από dimsis » 04 Δεκ 2009 12:03

Δηλαδή αυτοσχεδίασες και το έβαλες έτσι με τη φράση wiithout BOM μετά το utf-8; λογικά το αγνοεί το charest και γυρίζει ο browser σε κανένα άλλο, ίσως για αυτό σου έπαιξε. Αυτό το headers already sent είναι πραγματικά φοβερό. Απορώ μετά από τόσες εκδόσεις της php πως δεν έχουν διορθωθεί τέτοια θέματα όπως και το BOM issue που τα συνάντησα και εγώ αυτές τις μέρες και πραγματικά τσακίζει νεύρα ...

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 12:24

οχι δεν αυτοσχεδιασα. εψαξα σε πολλα forums γραφοντας το προβλημα ακριβως οπως μου πεταγοταν στο google και το ειδα σε μερικους κωδικες. αφου παιζει και μου κανει την δουλεια μου δεν εχω χρονο να ασχολιθω τι αλλο παιζει με το charset. τωρα κεγομαι με το shopping cart και το παραπανω προβλημα ωστε να τελειωσω επιτελους την πτυχιακη.
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 15:15

δεν ξερω αλλα απο οτι καταλαβα πρεπει να προσαρμωσω μια foreach στο κοματι: $query = mysql_query("SELECT * from carttemp WHERE username = '$username'");
while($row=mysql_fetch_array($query))

if (empty($query)) {

$prodnum = blank;
$quan=blank;
} else {

$prodnum = $row['prodnum'];
$quan=$row['quan'];

}

και μετα στην insert into ποιο κατω να καταχωρησω την τιμη που θα περιεχει τα pd_id και τα usernames. ενα που δεν γνωριζω και θελω να κανω με την foreach ειναι οταν ειναι να εμφανισω τις εγγραφες να μην εμφανιζω ολα τα πεδια που εχει μεσα ο πινακας αλλα 2 πχ απο αυτα. οπως το pd_id που εχω μεσα και το username. ξερει κανενας το κολπο?
miteletsis

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

προβλημα με insert into

Δημοσίευση από fafos » 04 Δεκ 2009 15:25

To oti den dexetai h php thn utf me bom einai poly sosto giati poly apla se polles selides deixnei kati kinezikous xarakthres sthn arxh tous.. den tha sou pesei kai o popos an to soseis xoris bom :lol:

auto me to charset den to exo ksanasynanthsei oute ego..


to foreach douleuei me arrays... auto shmanei oti prepei na metatrepseis ta id ton proionton tou kalathiou se mia array kai meta me thn foreach na trexeis ena insert gia kathe id:

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

$proionta = array&#40;"id1","id2"&#41;;

foreach&#40;$proionta as &$value&#41;
&#123;

query me insert edo ...

&#125;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

προβλημα με insert into

Δημοσίευση από dimos_mitel » 04 Δεκ 2009 15:33

αυτο που με μπερδευει ειναι το εξης. το οτι αναγκαστικ τα id δεν ειναι 2. Μπορει καποιος να επιλεξει 3 προιοντα. τι γινετε εκει με την insert? ενα ακομα, πως θα μετατρεψω τα id του προιοντος σε array? θα παρω τα id απο τον πινακα με μια select και θα βαλω τις τιμες μεσα στο array? αλλα το προβλημα μου ειναι το τι γινετε αν καποιος επιλεξει 3 πχ προιοντα. πως αυτοματα στην insert into θα προστθουν 3 τιμες κ οχι 2.
miteletsis

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

προβλημα με insert into

Δημοσίευση από fafos » 04 Δεκ 2009 16:08

auto edo ti einai?:

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

$query = mysql_query&#40;"SELECT * from carttemp WHERE username = '$username'"&#41;;
while&#40;$row=mysql_fetch_array&#40;$query&#41;&#41;

if &#40;empty&#40;$query&#41;&#41; &#123;

$prodnum = blank;
$quan=blank;
&#125; else &#123;

$prodnum = $row&#91;'prodnum'&#93;;
$quan=$row&#91;'quan'&#93;;

&#125;

to while pou kaleis analyei thn array ton id pou exei sto pinaka carttemp.. sto leei kiolas: $row=mysql_fetch_array($query)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Απάντηση

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

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

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