Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

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

Απάντηση
Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από diti » 12 Μαρ 2010 13:14

Καλησπέρα σε όλους.

Έχω μία σελίδα όπου εμφανίζω για συγκεκριμένη κατηγορία ένα σύνολο από εγγραφές με ημερομηνίες σε μορφή check box. Για να διαβάσω αυτές τις εγγραφές μέσα από μία σελίδα χρησιμοποιεί ajax και καλώ μια σελίδα php. Σε αυτή τη σελίδα διαβάζω με select τις εγγραφές και δημιουργώ ένα xml αρχείο. από τη σελίδα που χρησιμοποιώ ajax διαβάζω αυτό το xml αρχείο και εμφανίζω όλες τις εγγραφές.
Το θέμα είναι πώς μπορώ να κάνω το αντίθετο. Δηλαδή έχω ένα σύνολο από εγγραφές που φαίνονται μέσω check box και θέλω να καλέσω ένα php αρχείο στο οποίο να κάνω insert όλες τις εγγραφές και όχι μία. Δοκίμασα με μια for να στέλνω μία μία εγγραφή στο αρχείο php (που εκτελεί ένα insert), όπου κάθε φορά δημιουργώ και ένα XMLHttpRequest object και γίνεται αλλά δεν νομίζω ότι αυτός είναι ο σωστός τρόπος.
Μήπως έχει κάποιος κάποια καλή ιδέα; Σας ευχαριστώ πολύ.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από burnmind » 12 Μαρ 2010 14:07

Θα μπορούσες να βάλεις όλες τις εγγραφές σου σε ένα array και να τις στείλεις με ένα request.

Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από diti » 13 Μαρ 2010 16:01

Καλησπέρα.
Καταρχήν ευχαριστώ για την απάντηση.
Έχω τα στοιχεία μου σε ένα πίνακα. Όταν στέλνω μια φορά στοιχεία έχω την εντολή π.χ:

var param="classloc="+document.getElementById("classloc").value
XMLHttpRequestObject.send(param);

Το θέμα είναι πώς θα στείλω όλο τον πίνακα;
Ευχαριστώ.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από burnmind » 13 Μαρ 2010 23:30

diti έγραψε:Καλησπέρα.
Καταρχήν ευχαριστώ για την απάντηση.
Έχω τα στοιχεία μου σε ένα πίνακα. Όταν στέλνω μια φορά στοιχεία έχω την εντολή π.χ:

var param="classloc="+document.getElementById("classloc").value
XMLHttpRequestObject.send(param);

Το θέμα είναι πώς θα στείλω όλο τον πίνακα;
Ευχαριστώ.
Βασικά ξέχνα αυτό που είπα με το array. Πάρε όλα τα στοιχεία και βάλτα σε ένα POST request:

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

XMLHttpRequestObject.send("param1="+param1+"&param2="+param2);
Στο PHP αρχείο θα τα πάρεις ως:

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

$param1 = $_POST['param1'];
$param2 = $_POST['param2'];

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

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από fafos » 14 Μαρ 2010 00:24

Mia methodos gia na steileis multiple dedomena se ena value me ajax einai h xrhsimopoihsh sortable('serialize') ths jquery.. ena paradeigma edo:

http://blog.mirthlab.com/2008/08/18/par ... d-symfony/

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από burnmind » 14 Μαρ 2010 01:24

Αν προτίθεσαι να χρησιμοποιήσεις τη jQuery, τότε η serialize που προτείνει ο fafos θα σε βολέψει πάρα πολύ, ειδικά ώστε να μη χρειάζεται να αλλάζεις το datastring κάθε φορά που κάνεις κάποια αλλαγή στα δεδομένα σου.

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

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από dva_dev » 14 Μαρ 2010 03:23

diti έγραψε:Καλησπέρα.
Καταρχήν ευχαριστώ για την απάντηση.
Έχω τα στοιχεία μου σε ένα πίνακα. Όταν στέλνω μια φορά στοιχεία έχω την εντολή π.χ:

var param="classloc="+document.getElementById("classloc").value
XMLHttpRequestObject.send(param);

Το θέμα είναι πώς θα στείλω όλο τον πίνακα;
Ευχαριστώ.
Για να στείλεις ένα item φτιάχνεις ένα string του στύλ
var param="classloc=value1"

Για να στείλεις έναν πίνακα από items φτιάχνεις ένα string του στύλ
var param="classloc=value1&classloc=value2&classloc=value3&..."

Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από diti » 16 Μαρ 2010 20:13

Σας ευχαριστώ όλους για το χρόνο που αφιερώσατε και δώσατε κάποιες απαντήσεις.
Στην αρχή έψαξα την sortable('serialize') της jquery και πριν την εφαρμόσω στο πρόγραμμά μου αποφάσισα να δω πώς μπορώ να στείλω πίνακα μέσω ajax. Αυτό που έκανα και δουλεύει μια χαρά είναι το εξής:

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

for &#40;i=0; i<checkboxes.length; i++&#41;
&#123;
    if &#40;checkboxes&#91;i&#93;.checked&#41;
   &#123;
                locs= tbl.rows&#91;i&#93;.cells&#91;1&#93;.innerHTML;
	param=param+"&&#91;b&#93;location&#91;"+j+"&#93;="+&#91;/b&#93;locs; 
	j++;
   &#125;
&#125;
Χρησιμοποιώ μια λίστα από checkbox και όποια είναι επιλεγμένα αυτά στέλνω.

Στο αρχείο php έχω το εξής:

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

$location=$_POST&#91;"location"&#93;;

for&#40;$i=0;$i<&#91;b&#93;count&#40;$location&#41;&#91;/b&#93;;$i++&#41;
&#123;
	$sql = "INSERT INTO class_locations VALUES &#40;'$classloc', '&#91;b&#93;$location&#91;$i&#93;'&#91;/b&#93;&#41;";
	
&#125;
Ελπίζω να χρησιμεύσει σε κάποιον.

Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Ενημέρωση πολλών εγγραφών μέσω Ajax - php

Δημοσίευση από diti » 16 Μαρ 2010 20:20

Επειδή ήθελα να βάλω έντονα κάποια γράμματα μέσα στον κώδικα φαίνεται και το .
ξαναστέλνω τον κώδικα:

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

for &#40;i=0; i<checkboxes.length; i++&#41;
&#123;
	if &#40;checkboxes&#91;i&#93;.checked&#41;
	&#123;
		locs= tbl.rows&#91;i&#93;.cells&#91;1&#93;.innerHTML;
		param=param+"&location&#91;"+j+"&#93;="+locs; 
		j++;
		
	&#125;
&#125;

php&#58;

$location=$_POST&#91;"location"&#93;;
for&#40;$i=0;$i<count&#40;$location&#41;;$i++&#41;
&#123;

	$sql = "INSERT INTO class_locations VALUES &#40;'$classloc', '$location&#91;$i&#93;'&#41;";
&#125;

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

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

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