Problem mit ajax
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
break
code
datei
datenbank
eintrag
eintragen
header
helfen
http
info
jemand
layout
post
problem
set
tabelle
test
update
url
verbindung
-
Morgen,
Ich hoffe das ich hier im richtigen forum gelandet bin. Vorweg ich habe mich noch nicht viel mit ajax beschäftigt und hoffe das ihr mir mal kurz helfen könnt ich habe folgeden script:
function savelayout(){ var positions = ""; var yindex = 0; var uid ="<?php echo $uid ?>"; alert(uid); $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");}); $.ajax({ type: "POST", url: "savelayout.php", data: positions, }); }
Dieser übergbit wie man sieht die poitions an savelayout.php nun möchte ich aber zusätzlich zu den positions noch die uid übergeben ich weiss aber nicht ob ich diese einfach hinter data mit hinzufügen kann bzw wie. Ich habe es schon folgener maßen versucht:
Ich habe allerdings die uid auf savelayout.php nicht empfangen. Kann man die uid wie normal in php einfach mit:data: positions+uid
abrufen oder muss man da irgendetwas beachten ich hoffe ihr versteht mein Problem und könnt mir helfen$uid=$_POST[uid]
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hm, .......
So in deiner seite einfügen ......... bin nicht sicher?
function savelayout var positions =name11; var yindex = 0; var uid ="<?php echo suid ?>"; alert(uid); suid(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");}); $.ajax({ type: "POST", url: "savelayout.php", data: positions, }); }
und die code muss die richtige beschriftung haben(weiss ich nicht)
es wird dir sicher ein experte zu hilfe kommen.....
gatterer -
Morgen,
ich habe jetzt diesen code von dir mal genommen aber irgendwie kann ich die variable immer noch nicht auf savelayout empfangen bzw auslesen ich habe es wieder so probiert:
$uid=$_POST[uid]
Ich hoffe es kann mir jemand bei mein Problem helfen -
Sers,
wenn du schon Jquery nutzt versuch doch mal die wirklich ausführliche Dokumentation von denen zu lesen: http://docs.jquery.com/Ajax/jQuery.post#urldatacallbacktype
Da steht z.B. für das versenden mehrerer Parameter:
$.post("test.php", { name: "John", time: "2pm" } );
Außerdem sieht dein Code komplizierter aus als er sein müsste, glaube ich.
Grüsse
Color -
Hey
danke für deine Antwort ich habe es zwar noch nicht ganz hinbekommen aber ich probiere weiter der code dient dazu um die postionen der boxen in deiner tabelle zu speichern, ich habe den code von hier:
http://www.kadede.com/disenyoblog/?p=289
Ich weiss nicht ob das auch einfacher geht aber das war das einzige was ich gefunden habe und hablwegs verstanden
-
also bei jquery würde ich mich auch jedenfall auf dieser Seite umschauen:
http://docs.jquery.com/Ajax/jQuery.post
ansonsten würde ich:
data: positions,
in
data: positions,uid
umändern. Dürfte das problem denke ich lösen
-
Wie ich gerade fetgestellt habe wird die id mit übergeben aber der fehler muss irgendwo in der savelayout.php liegen ic habe folgeden code:
"dbconnect" $uid=$_POST['name']; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$uid; rewind($datei); fwrite($datei, $counterstand); fclose($datei); for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when ‘|’ is found and saves it in $semivalur mysql_query("UPDATE layouts SET `column`='$semivalue[0]' WHERE `header`='$varnames[$i]' AND `user`='$uid'"); // Saves each portlet column belongness mysql_query("UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `header`='$varnames[$i]' AND `user`='$uid'"); // Saves each portlet ‘yindex’ } ?>
dieser funktionierd nicht bzw wird der wert nicht an die tabelle übergeben wenn ich jetzt aber die uid festlege zb auf 2 also so:
dann wird die änderung in die tabelle eingetragen komische sache die ich nicht versteh kann mir da vlt jemand helfen ?$uid=2;
Hier nochmal der code von dem Post ich wiess der ist bisschen kompliziert aber hauptsache es funtzt erstmal:
<script type="text/javascript"> function savelayout(){ var positions = ""; var yindex = 0; var uid ="<?php echo $uid ?>"; alert(uid); $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + this.parentNode.id + "|" + yindex + "&");}); $.ajax({ type: "POST", url: "savelayout.php", data: positions, }); data2: uid; $.post("savelayout.php", { name: uid,}, function(data2){ alert("Data Loaded: " + data2); }); } </script>
EDIT
Die Daten werden jetzt sogar auf die Datenbank übertragen bzw bekomme ich ein true zurück aber die Datenbank ändert sich nicht
folgender code
<?php $verbindung = mysql_connect("") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("") or die ("Datenbank konnte nicht ausgewählt werden"); $uid=$_POST['name']; $varqty = count($_POST); // It counts how many info portlets are we passing $varnames = array_keys($_POST); // Obtains variable names $varvalues = array_values($_POST);// Obtains variable values; $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$uid; rewind($datei); fwrite($datei, $counterstand); fclose($datei); for($i=0;$i<$varqty;$i++){ // For each variable $semivalue = explode("|", $varvalues[$i]); // We break it when �|� is found and saves it in $semivalur $eintragen="UPDATE layouts SET `column`='$semivalue[0]' WHERE `header`='$varnames[$i]' AND `user` LIKE $uid"; $eintrag=mysql_query($eintragen); // Saves each portlet column belongness $eintragen2="UPDATE layouts SET `yindex`='$semivalue[1]' WHERE `header`='$varnames[$i]' AND `user` LIKE $uid"; $eintrag2=mysql_query($eintragen2); // Saves each portlet �yindex� if($eintrag==true && $eintrag2==true) {$test=t;} else {$test=f;} $datei = fopen("eintrag.txt","r+"); $counterstand = fgets($datei, 10); $counterstand=$test; rewind($datei); fwrite($datei, $counterstand); fclose($datei); } ?>
Beitrag zuletzt geändert: 21.9.2009 15:23:03 von goldschau -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage