Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

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

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

Απάντηση
pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 03 Σεπ 2010 20:53

Γεια σας,
Έχω μια εργασία και αυτό που προσπαθώ να κάνω είναι να πάρω ολα τα δεδομενα απο την γραμμή του πίνακα και να τα εμφανίσω σε μία αλλη σελίδα. Πιο συγκεκριμένα εχω δημιουργήσει ένα πίνακα στον οποίο μποστά απο κάθε γραμμή υπάρχει ένα checkdox. Όταν πατηθει το checkbox κάποιας γραμμής και πατήσω next να μου εμφανίζει τα στοιχεια της γραμμής επόμενη σελίδα.Τα στοιχεία του πίνακα ειναι text και drop down list.
Καμμία ιδέα πως μπορώ να το κάνω?
Ευχαριστώ εκ των προτέρων.

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

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από burnmind » 03 Σεπ 2010 21:33

Δείξε μας τον κώδικά σου (βάλτον σε code tags ώστε να διαβάζεται εύκολα)

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 03 Σεπ 2010 21:49

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

<form name="theForm">
<table border="1">

<tr>
<th>...</th> <th>...</th> <th>...</th> <th>....</th>
<th>...</th> <th>...</th> <th>....</th>
</tr>

<tr align="center">
<td><input type=checkbox name="ch1" onclick="theChecker&#40;&#41;"></td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td><select name="en1"> <option value="aen1">1</option> </select> </td>
<td><select name="dom"> <option value="ar1">1 </option> <option value="br1">2 </option> <option value="cr1">3 </option>
<option value="dr1">4 </option> </select> </td>
</tr>

<tr align="center">
<td><input type=checkbox name="ch2" onclick="theChecker&#40;&#41;"></td>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
<td><select name="en2"> <option value="aen2">1 </option> <option value="ben2">2 </option> <option value="cen2">3 </option> </select> </td>
<td><select name="dom2"> <option value="ar2">1 </option> <option value="br2">2 </option> </select> </td>
</tr>
</table>

<a href="kataxwrisi3.html"><input type="submit" name="theButton" value="Next"  disabled></a>
	</form>

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

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από burnmind » 03 Σεπ 2010 22:39

Δε βλέπω να προσπάθησες και πολύ! :P

Λοιπόν, κατ'αρχήν βγάλε το <a href="kataxwrisi3.html"> γύρω από το submit και διάβασε λίγο για τα forms και το πως στέλνουν δεδομένα.

Παράδειγμα:

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

<form name="whatever" action="whatever.php" method="post">
<input type="checkbox" name="ch1" />
<input type="submit" value="submit" />
</form>
Όταν πατήσεις submit, τότε θα στείλει όλα τα δεδομένα που περιέχονται στο form (στο παράδειγμά μας το value του checkbox με name "ch1") στη σελίδα whatever.php, με τη μέθοδο post.

Στο whatever.php, θα πάρεις το value του checkbox (τίποτα αν δεν είναι check-αρισμένο και "on" αν είναι) ως εξής:

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

<?php
$valueOfCheckbox =  $_POST&#91;'ch1'&#93;;
?>

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 03 Σεπ 2010 23:12

Σύμφωνα με την αποστολη δεδομένων έχεις δίκιο το έγραψα βιαστηκά!
Δεν θέλω απλά να μου βγάζει αν είναι on.
Ετσι κι αλλιώς το έχω κάνει αν δεν είναι τσεκαρισμένο να μην μπορω να προχωρήσω παρακάτω.
Αυτο που θέλω είναι όποια γραμμή είναι on να μου εμφανίζει ολα τα δεδομενα τις γραμμής που έχω επιλέξει(text και drop down list).

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

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από burnmind » 03 Σεπ 2010 23:52

Το ότι αν δεν είναι τσεκαρισμένο δε θα προχωράει παρακάτω (όπως γράφεις) σημαίνει ότι θα εμφανίσεις τα πάντα (και όχι όποια γραμμή είναι on όπως λες), αφού θα πρέπει να είναι όλα τσεκαρισμένα για να προχωρήσιες.. Μάλλον κάτι άλλο εννοείς.

Επίσης, μη βασίζεσαι (μόνο) στη JavaScript για τέτοιους ελέγχους, γιατί οποιοσδήποτε χρήστης μπορεί να την απενεργοποιήσει.

Anyway, το πως θα εμφανίσεις τα δεδομένα μετά έχει άμεση συνάρτηση με το πως τα εμφανίζεις εδώ. Είναι hard-coded ή γίνονται generate μέσω php;

Πχ αν είναι hard-coded και είναι 5 γραμμές (με ονομασίες ch/en/dom 1-5 - δηλαδή αν ξέρεις πόσα και ποια δεδομένα υπάρχουν προς έλεγχο), τότε μπορείς να κάνεις το εξής:

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

for &#40;$i=1; $i<=5; $i++&#41;
&#123;
  if &#40;$_POST&#91;'ch'.$i&#93;=='on'&#41;
  &#123;
    echo $_POST&#91;'en'.$i&#93;;
    echo $_POST&#91;'dom'.$i&#93;;
  &#125;
&#125;
Την πιάνεις τη λογική. Αν θες κάτι άλλο τότε εξήγησέ το καλύτερα. :)

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 04 Σεπ 2010 01:11

Λοιπόν σου έκανα επισύναψη τον πίνακα για να δείς περίπου πως είναι.Όταν επιλέξω το πρώτο check θέλω να μου βγάλει:
"lalalala
lalalala
1
35€
1(εξαρτάται με το τι έχω επιλέξει)
1(εξαρτάται με το τι έχω επιλέξει)"

Έστω κι ένα να έχω τσεκαρισμένο μπορώ να προχωρήσω παρακάτω.

Προσπάθησα με αυτό που μου έστηλες αλλα δεν καταφερα και πολλα. Βασικα εκεί που εχεις βάλει ch λογικά εννοείς την επιλογη αλλα πως δίνω όνομα σε ενα κουτί του πίνακα?
Το έκανα εκτέλεση και αυτο που μου βγάζει σαν αποτέλεσμα είναι aen1 kai ar1 (δηλ το option value) ένω εγω θέλω το 1(ή αν έχω επιλέξει κτ αλλο απο το drop down list).
Σε μπέρδεψα περισσότερο? Σε ευχαριστω πάντως που ασχολήσε!!
[/img]
Συνημμένα
pinakas.jpg

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 04 Σεπ 2010 01:41

Οκ το βρήκα...Σε ευχαριστώ ΠΟΛΥΥΥΥΥΥΥΥΥΥΥΥΥ!!!!!

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

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από burnmind » 04 Σεπ 2010 01:46

(το βρήκες, αλλά ήδη το είχα γράψει οπότε το post-άρω για να μη πάει χαμένη η ενέργεια που δαπάνησα! :P)

Αυτό που σου έστειλα ήταν απλά ένα παράδειγμα. Θα πρέπει να διαβάσεις και να ασχοληθείς από μόνος σου ώστε να καταλάβεις πως δουλεύουν όλα αυτά που θέλεις να χρησιμοποιήσεις και το παράδειγμα ειναι εκεί για να σε βοηθήσει, δεν είναι η λύση. :)

Για να σε βοηθήσω να καταλάβεις γιατί σου βγάζει (σωστά) σαν αποτέλεσμα "aen1" ενώ εσύ θέλεις "1" (αν και με ένα search στο google θα βρεις τη λύση):

Γράφεις:

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

<select name="en1"> <option value="aen1">1</option> </select>
Όταν κάνεις submit το form σου, ΔΕΝ στέλνεις το "1", αλλά το περιεχόμενο του value. Το "1" το βλέπει μόνο ο χρήστης. Αν θες να στείλεις "1", τότε το value θα πρέπει να είναι "1" και όχι "aen1".

Από εκεί και πέρα, ξέρεις ήδη πως στέλνεις τα δεδομένα και πως τα λαμβάνεις. Το μόνο που χρειάζεσαι είναι να ξέρεις τα ονόματα των πεδίων.

Ένα παρεμφερές παράδειγμα με αυτό που σου έδωσα πριν (με τον πίνακα hard-coded):

HTML:

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

<form action="test.php" method="post">
	<table>
		<tr>
			<td><input type="checkbox" name="ch1" /></td>
			<td>
				<select name="select1">
					<option value="1">1</option>
					<option value="2">2</option>
				</select>
			</td>
		</tr>
		<tr>
			<td><input type="checkbox" name="ch2" /></td>
			<td>
				<select name="select2">
					<option value="1">1</option>
					<option value="2">2</option>
				</select>
			</td>
		</tr>
		<tr>
			<td><input type="checkbox" name="ch3" /></td>
			<td>
				<select name="select3">
					<option value="1">1</option>
					<option value="2">2</option>
				</select>
			</td>
		</tr>
	</table>
	<input type="submit" value="submit" />
</form>
test.php:

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

<?php
for &#40;$i=1; $i<=5; $i++&#41; 
&#123; 
  if &#40;$_POST&#91;'ch'.$i&#93;=='on'&#41; 
  &#123; 
    echo 'Checkbox '.$i.' is checked. Value&#58; '.$_POST&#91;'select'.$i&#93;;
	echo '<br />';
  &#125; 
&#125;
?>

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 04 Σεπ 2010 14:31

Να ρωτήσω και κάτι αλλό. Τα πέρνω τα δεδομένα αλλά μου τα βγάζει στην αμέσως επόμενη σελίδα. Έγω που θέλω να μου τα βγάζει δυο σελιδες μετά τι μπορώ να κάνω? Μηπως με sessions?Προσπάθησα αλλα τπτ...
Βασικά εγραψα...

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

<?php
session_start&#40;&#41;; 
$_SESSION&#91;'ch1'&#93;=$_POST&#91;"ch1"&#93;;
$_SESSION&#91;'enikoi1'&#93;=$_POST&#91;"en1"&#93;;
$_SESSION&#91;'domatio1'&#93;=$_POST&#91;"dom1"&#93;;

if &#40;$_POST&#91;'ch1'&#93;=='on'&#41;
  &#123;
.....
	
&#125;		
?>

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

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από burnmind » 04 Σεπ 2010 15:23

Αν θες να χρησιμοποιήσεις sessions, θα πρέπει σε στην αρχή κάθε σελίδας να υπάρχει το

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

session_start&#40;&#41;;
Μπορείς να βρεις όλες τις πληροφορίες που χρειάζεσαι εδώ.

pvaso
Δημοσιεύσεις: 17
Εγγραφή: 10 Αύγ 2010 20:44

Πως θα πάρω τα δεδομένα απο την γραμμή ενος πίνακα?

Δημοσίευση από pvaso » 08 Σεπ 2010 22:07

Επανέρχομαι στο θέμα γτ έχω αλλο πρόβλημα.
Σχετικά με τον πίνακα αν τα δεδομένα μου γίνονται generated by php πως μπορώ να εμφανίσω τα στοιχεία της γραμμης του πίνακα που είναι τσεκαρισμένη στην επόμενη σελίδα .
Πιο συγκεκριμένα έχω μία φόρμα την οποία συμπληρώνω και μέσω αυτής τα δεδομένα στέλνονται στον πίνακα με χρήση mySql όπου απο εκεί ο χρήστης επιλέγει πιο checkbox θελει.
καμμιά ιδέα?

Απάντηση

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

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

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