Ajax και json_encode

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

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

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 26 Μαρ 2015 22:07

Καλησπέρα σε όλους.
Μπορεί να μου γράψει/υποδείξει ένα τρόπο κάποιος για να διαβάσω και να εκτυπώσω δεδομένα από ένα json_encode array string με ajax το οποίο sting το παίρνω από mysql βάση με ένα αρχείο getjson.php

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

</p>
<?php
$con= mysql_connect&#40;"localhost", "root", ""&#41;;
mysql_query&#40;"SET NAMES 'utf8'", $con&#41; or die&#40;"Could not connect to sql."&#41;; 
$db=mysql_select_db&#40;"office"&#41;;

$get_users="SELECT * from users ";
$get_users2=mysql_query&#40;$get_users&#41; or die&#40;"Could not get users"&#41;;



$data = array&#40;&#41;;
while &#40;$row = mysql_fetch_assoc&#40;$get_users2&#41;&#41; &#123;

    

    $data&#91;&#93; = $row;
&#125;

echo json_encode&#40;$data&#41;;
?>
και ο πίνακας users εχει τα πεδία id, age, name ,job_title,address

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ajax και json_encode

Δημοσίευση από geomagas » 26 Μαρ 2015 22:45

Καλησπέρα,

Αυτό βοηθάει;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 12:39

Καλημέρα.Ευχαριστώ φίλε μου βοήθησε κάπως αλλά όχι ακριβώς αυτό που θέλω δεν θέλω από json αρχείο θέλω από πίνακα sql που τα αποθηκεύω σε string με την εντολή json_encode.
Θα βοηθούσε πιό πολύ αν μπορεί κάποιος να μου πει τι κάνει αυτό

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

$.ajax&#40;&#123; 
        type&#58; 'GET', 
        url&#58; 'myphpfile.php', 
        data&#58; data, 
        
        success&#58; function &#40;data&#41; &#123; 

εδώ θα ήθελα μία βοήθεια ας πούμε πως θα εμφανίσω τα αποτελέσματα με javascripts elements
            
        &#125;
    &#125;&#41;;
το php αρχείο αν το τρέξω μου επιστρέφει στον browser
[{"id":"2","name":"\u03a0\u03b1\u03cd\u03bb\u03bf\u03c2 \u03a0\u03b1\u03c0\u03b1\u03b4\u03cc\u03c0\u03bf\u03c5\u03bb\u03bf\u03c2","age":"35","job_title":"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address":"\u039a\u03bf\u03c3\u03bc\u03ac \u0391\u03b9\u03c4\u03c9\u03bb\u03bf\u03cd 32 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"3","name":"\u039c\u03b9\u03c7\u03ac\u03bb\u03b7\u03c2 \u039f\u03c1\u03b3\u03b1\u03bd\u03b6\u03ae\u03c2","age":"32","job_title":"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address":"\u039d\u03b9\u03ba\u03bf\u03bc\u03ae\u03b4\u03b5\u03b9\u03b1\u03c2 3 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"4","name":"\u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ce\u03c4\u03b7\u03c2 \u039a\u03bf\u03c5\u03c4\u03c3\u03bf\u03cd\u03bc\u03c0\u03b1\u03c2","age":"27","job_title":"\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03c4\u03ae\u03c2","address":"\u039c. \u0391\u03bb\u03b5\u03be\u03ac\u03bd\u03b4\u03c1\u03bf\u03c5 57 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"5","name":"\u0394\u03b7\u03bc\u03ae\u03c4\u03c1\u03b7\u03c2 \u0393\u03b5\u03c9\u03c1\u03b3\u03af\u03bf\u03c5","age":"30","job_title":"\u03a0\u03c1\u03bf\u03b9\u03c3\u03c4\u03ac\u03bc\u03b5\u03bd\u03bf\u03c2","address":"\u039a\u03b1\u03c1\u03b1\u03bf\u03bb\u03ae & \u0394\u03b7\u03bc\u03b7\u03c4\u03c1\u03af\u03bf\u03c5 107 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"}]
Tα κωδικοποιημένα ίσως είναι κάτι με τα char_set που κάνω λάθος αλλά δεν με απασχολεί με ενδιαφέρει να πάρω αυτά τα δεδομένα με ajax και να τα εμφανίσω

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

Ajax και json_encode

Δημοσίευση από Rapid-eraser » 27 Μαρ 2015 13:01

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

$.ajax&#40;&#123;
        type&#58; 'GET',
        dataType&#58; "json",
        url&#58; 'myphpfile.php',
        data&#58; data,
       
        success&#58; function &#40;data&#41; &#123;
              console.log&#40;data&#41;
           
        &#125;
    &#125;&#41;;

Και τσέκαρε στο console του browser σου τι επιστρέφει.
Προφανώς αν έχεις κάποια tabular data θα κάνεις κάποια loop για να βάλεις στο DOM δομή html άμεσα ή μέσω κάποιου template
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

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 13:23

ReferenceError: data is not defined on data:data,

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 13:26

tabular δεν έχω όμως θέλω με κλικ σε ενα μπουτον να μου εμφανίζει ena record απο μία γραμμή της βάσης αλλά θα φτάσω εκεί ας λύσω τα βασικά πρώτα:)

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

Ajax και json_encode

Δημοσίευση από Rapid-eraser » 27 Μαρ 2015 13:34

Δεν έχεις κάνει define τις παραμέτρους που περνάς σαν data ?
αν δεν έχεις να περάσεις κάτι κάνε comment αυτή την γραμμή.
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

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 13:41

Συγνώμη πρέπει να κάνω define? έκανα σχόλιο την γραμμή και η κοσνόλα είναι καθαρή όμως αυτό σε τι με βοηθάει
πως θα δουλέψω με τα δεδομένα από την json_encode για να τα εμφανίσω με html στο success
?

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

Ajax και json_encode

Δημοσίευση από Rapid-eraser » 27 Μαρ 2015 13:51

Το error που γράφει πιο πάνω αναφέρεται στην γραμμή
"data: data, "

Γενικά πως τυπώνεις data σε html από javascript ή jquery ξέρεις πως γίνεται;
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

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 13:53

Δυστηχώς φίλε μου με αυτό ασχολούμαι τώρα αλλά λίγη βοήθεια δεν θα έλεγα όχι.

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 13:58

Γενικά στην data πρεπει να ορίσεις τα δεδομένα? π.χ. αν απο την json_encode παίρνω από την sql 4 πεδία με τιμές σε array και έστω τα πεδία id,age,name,title θα πρέπει να ορίσω στην ajax
data:{id:id,age:age,name:name,title:title},
π.x.? και μετά να τα κάνω ότι θέλω στο success?

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ajax και json_encode

Δημοσίευση από geomagas » 27 Μαρ 2015 14:52

abeautifulmind έγραψε:Καλημέρα.Ευχαριστώ φίλε μου βοήθησε κάπως αλλά όχι ακριβώς αυτό που θέλω δεν θέλω από json αρχείο θέλω από πίνακα sql που τα αποθηκεύω σε string με την εντολή json_encode.
Ποιος μίλησε για αρχείο json; Τι σε κάνει να πιστεύεις ότι δεν κατάλαβα τι θέλεις;
Αφού το script σου τα δίνει σε json, τι μας ενδιαφέρει που τα βρίσκει;
abeautifulmind έγραψε:Θα βοηθούσε πιό πολύ αν μπορεί κάποιος να μου πει τι κάνει αυτό

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

$.ajax&#40;&#123; 
        type&#58; 'GET', 
        url&#58; 'myphpfile.php', 
        data&#58; data, 
        
        success&#58; function &#40;data&#41; &#123; 

εδώ θα ήθελα μία βοήθεια ας πούμε πως θα εμφανίσω τα αποτελέσματα με javascripts elements
            
        &#125;
    &#125;&#41;;
το php αρχείο αν το τρέξω μου επιστρέφει στον browser
[{"id":"2","name":"\u03a0\u03b1\u03cd\u03bb\u03bf\u03c2 \u03a0\u03b1\u03c0\u03b1\u03b4\u03cc\u03c0\u03bf\u03c5\u03bb\u03bf\u03c2","age":"35","job_title":"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address":"\u039a\u03bf\u03c3\u03bc\u03ac \u0391\u03b9\u03c4\u03c9\u03bb\u03bf\u03cd 32 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"3","name":"\u039c\u03b9\u03c7\u03ac\u03bb\u03b7\u03c2 \u039f\u03c1\u03b3\u03b1\u03bd\u03b6\u03ae\u03c2","age":"32","job_title":"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address":"\u039d\u03b9\u03ba\u03bf\u03bc\u03ae\u03b4\u03b5\u03b9\u03b1\u03c2 3 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"4","name":"\u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ce\u03c4\u03b7\u03c2 \u039a\u03bf\u03c5\u03c4\u03c3\u03bf\u03cd\u03bc\u03c0\u03b1\u03c2","age":"27","job_title":"\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03c4\u03ae\u03c2","address":"\u039c. \u0391\u03bb\u03b5\u03be\u03ac\u03bd\u03b4\u03c1\u03bf\u03c5 57 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"},{"id":"5","name":"\u0394\u03b7\u03bc\u03ae\u03c4\u03c1\u03b7\u03c2 \u0393\u03b5\u03c9\u03c1\u03b3\u03af\u03bf\u03c5","age":"30","job_title":"\u03a0\u03c1\u03bf\u03b9\u03c3\u03c4\u03ac\u03bc\u03b5\u03bd\u03bf\u03c2","address":"\u039a\u03b1\u03c1\u03b1\u03bf\u03bb\u03ae & \u0394\u03b7\u03bc\u03b7\u03c4\u03c1\u03af\u03bf\u03c5 107 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"}]
Tα κωδικοποιημένα ίσως είναι κάτι με τα char_set που κάνω λάθος αλλά δεν με απασχολεί με ενδιαφέρει να πάρω αυτά τα δεδομένα με ajax και να τα εμφανίσω
Ξέχνα το αυτό. Δες αν το παρακάτω σου δουλεύει:

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

tbl=$&#40;'<table></table>'&#41;;
$&#40;document.body&#41;.append&#40;tbl&#41;;
$.getJSON&#40;'getjson.php',function&#40;data&#41;&#123;data.forEach&#40;rowIt&#41;;&#125;&#41;;

function rowIt&#40;row&#41;
  &#123;
  var tr=$&#40;'<tr>'&#41;;
  tr.append&#40;
    '<td>'+row.id+'</td>',
    '<td>'+row.name+'</td>',
    '<td>'+row.age+'</td>'
    &#41;;
  tbl.append&#40;tr&#41;;
  &#125;

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 15:14

Ευχαριστώ φίλε μου για τον χρόνο σου δεν δουλεύει δυστηχώς

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ajax και json_encode

Δημοσίευση από geomagas » 27 Μαρ 2015 15:36

abeautifulmind έγραψε:Ευχαριστώ φίλε μου για τον χρόνο σου δεν δουλεύει δυστηχώς
Δεν μπορεί.

Να το json, να και το html/js.

Να κι ο φουλ κώδικας του demo:

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

<?php if&#40;isset&#40;$_GET&#91;'html'&#93;&#41;&#41;&#58; ?>
	<!DOCTYPE html>
	<html>
		<head>
			<title>getJSON test</title>
		</head>
		<body>
			<script src="https&#58;//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
			<script type="text/javascript">
				$&#40;document&#41;.ready&#40;
					function&#40;&#41;
						&#123;
						tbl=$&#40;'<table></table>'&#41;;
						$&#40;document.body&#41;.append&#40;tbl&#41;;
						$.getJSON&#40;'getjson.php',function&#40;data&#41;&#123;data.forEach&#40;rowIt&#41;;&#125;&#41;;
						&#125;
					&#41;;
				
				function rowIt&#40;row&#41;
					&#123;
					var tr=$&#40;'<tr>'&#41;;
					tr.append&#40;
						'<td>'+row.id+'</td>',
						'<td>'+row.name+'</td>',
						'<td>'+row.age+'</td>'
						&#41;;
					tbl.append&#40;tr&#41;;
					&#125;
			</script>
		</body>
	</html>
<?php else&#58; ?>
	&#91;&#123;"id"&#58;"2","name"&#58;"\u03a0\u03b1\u03cd\u03bb\u03bf\u03c2 \u03a0\u03b1\u03c0\u03b1\u03b4\u03cc\u03c0\u03bf\u03c5\u03bb\u03bf\u03c2","age"&#58;"35","job_title"&#58;"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address"&#58;"\u039a\u03bf\u03c3\u03bc\u03ac \u0391\u03b9\u03c4\u03c9\u03bb\u03bf\u03cd 32 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"&#125;,&#123;"id"&#58;"3","name"&#58;"\u039c\u03b9\u03c7\u03ac\u03bb\u03b7\u03c2 \u039f\u03c1\u03b3\u03b1\u03bd\u03b6\u03ae\u03c2","age"&#58;"32","job_title"&#58;"\u03a4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc\u03c2","address"&#58;"\u039d\u03b9\u03ba\u03bf\u03bc\u03ae\u03b4\u03b5\u03b9\u03b1\u03c2 3 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"&#125;,&#123;"id"&#58;"4","name"&#58;"\u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ce\u03c4\u03b7\u03c2 \u039a\u03bf\u03c5\u03c4\u03c3\u03bf\u03cd\u03bc\u03c0\u03b1\u03c2","age"&#58;"27","job_title"&#58;"\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03c4\u03ae\u03c2","address"&#58;"\u039c. \u0391\u03bb\u03b5\u03be\u03ac\u03bd\u03b4\u03c1\u03bf\u03c5 57 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"&#125;,&#123;"id"&#58;"5","name"&#58;"\u0394\u03b7\u03bc\u03ae\u03c4\u03c1\u03b7\u03c2 \u0393\u03b5\u03c9\u03c1\u03b3\u03af\u03bf\u03c5","age"&#58;"30","job_title"&#58;"\u03a0\u03c1\u03bf\u03b9\u03c3\u03c4\u03ac\u03bc\u03b5\u03bd\u03bf\u03c2","address"&#58;"\u039a\u03b1\u03c1\u03b1\u03bf\u03bb\u03ae & \u0394\u03b7\u03bc\u03b7\u03c4\u03c1\u03af\u03bf\u03c5 107 \u0395\u03cd\u03bf\u03c3\u03bc\u03bf\u03c2"&#125;&#93;
<?php endif; ?>
Κάτι κάνεις λάθος.

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Ajax και json_encode

Δημοσίευση από abeautifulmind » 27 Μαρ 2015 16:44

Ευχαριστώ για την προσπάθεια.Έχω κάνει το αρχείο index ετσι

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

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Request json test</title> 
<script type='text/javascript' src='http&#58;//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'></script>
<script src="ShowJson.js" type="text/javascript"></script> 

</script>
</head>
<body>
<?php 
$con= mysql_connect&#40;"localhost", "root", ""&#41;;
mysql_query&#40;"SET NAMES 'utf8'", $con&#41; or die&#40;"Could not connect to sql."&#41;; 
$db=mysql_select_db&#40;"users_db"&#41;;

$get_users="SELECT * from  users ";
$get_users2=mysql_query&#40;$get_users&#41; or die&#40;"Could not get users"&#41;;




while &#40;$row = mysql_fetch_assoc&#40;$get_users2&#41;&#41; &#123;

    
?>

<input type="radio"  name"option_check" value="<?php echo"$row&#91;id&#93;";?>"/><?php echo"$row&#91;name&#93;  ";?>

<input type="text" name="age<?php echo"$row&#91;id&#93;";?>" id="age<?php echo"$row&#91;id&#93;";?>" /> 

<input type="text" name="job_title<?php echo"$row&#91;id&#93;";?>" id="job_title<?php echo"$row&#91;id&#93;";?>" /> 

<input type="text" name="address<?php echo"$row&#91;id&#93;";?>" id="address<?php echo"$row&#91;id&#93;";?>" />

<?php echo"<br><br><br>";


&#125;
?>
<div id="tra">
</div>
 
 </body>
</html> 
kai exo to js αρχειο

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

 $&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
	 
	 
	$&#40;"#option_check"&#41;.change&#40;function &#40;&#41; &#123;
                /* call the php that has the php array which is json_encoded */
                $.getJSON&#40;'getjson.php', function&#40;data&#41; &#123;
                        /* data will hold the php array as a javascript object */
                        $.each&#40;data, function&#40;key, val&#41; &#123;
                                $&#40;'#tra'&#41;.append&#40;val.age&#41;;
							&#125;&#41;;	
                        &#125;&#41;;
                &#125;&#41;;

        &#125;&#41;;
Πως μπορώ με κάθε αλλαγή του radio button να παίρνει την τιμή value του radio button που εχει πάρει από την βάση sql το id και με βάση το id που έχει το radio button να εμφανίζει στα text inputs τα δεδομένα της σειράς με ajax από την βάση sql όπου το πεδίο id ειναι ίσο με το id που έχει πάρει απο to radio button

Απάντηση

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

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

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