Hallo allerseits,
ich hab ein kleines nerviges Problem. Undzwar hab ich mir zu Übungszwecken eine kleine Datenbank gebastelt und das ganze mit PHP + Prototype AJAX programmiert.
Das Hauptscript (.php):
Alles anzeigen
Hier wird der Content reingeladen:
Hier die cat.php mit dem Content:
Die MySQL-Queries ect lass ich mal weg... da liegt nicht das Prob..
Alles anzeigen
Bei klick auf "edit" in Spalte3 wird also unterhalt der Tabelle ein Test-Satz ausgeben. Funktioniert auch alles soweit. Hab das mal als Screenshot angehängt:

Das Problem ist der Ladetext sowie die Ladegrafik, die anstelle des Textes "edit" dann erscheint, wenn der Testsatz unten geladen wird.
Wie auf dem Screenshot zu sehen ist, wird..
a) Der Ladetext "laden.." in der 1. Reihe ausgegeben.
b) Die Ladegrafik allerdings in der 2. Reihe..
Obwohl ich z.B. auf den Eintrag in der 3. Reihe geklickt habe! Und da blick ich grade nicht durch. Das scheint irgendwie willkürlich jedesmal an anderer Position angezeigt zu werden.
Nur nie zusammen in der selben Reihe.. und schon garnicht dort, wo ich auch draufgeklickt habe.
Wo liegt hier der Fehler?
Bin für jeden Tipp dankbar.
Beste Grüße
Pat
ich hab ein kleines nerviges Problem. Undzwar hab ich mir zu Übungszwecken eine kleine Datenbank gebastelt und das ganze mit PHP + Prototype AJAX programmiert.
Das Hauptscript (.php):
Quellcode
- CatEdit = function(cid) {
- var element = 'cat';
- var page = 'cat';
- $('CatEdit').innerHTML = 'laden...';
- Element.show( $('CatEditLoad') );
- new Ajax.Updater(element, page + '.php',
- {
- method:'get',
- parameters: { edit: cid },
- asynchronous:true,
- onComplete: function(){ Element.hide( $('CatEditLoad') ); }
- }
- );
- }
Hier wird der Content reingeladen:
Hier die cat.php mit dem Content:
Die MySQL-Queries ect lass ich mal weg... da liegt nicht das Prob..
Quellcode
- <?php
- //Daten per For-Schelife für jeden Eintrag auslesen...
- for($i=0;$i<$num;$i++)
- {
- $cat_id = mysql_result($result, $i, "CID");
- $cat_name = mysql_result($result, $i, "Cat");
- ?>
- <!--AUSGABE: Hier werden nun die aus der Datenbank ausgelesenen Daten in eine HTML-Tabelle eingefügt.. -->
- <div class="reihe">
- <div class="spalte1"><?php echo $cat_id;?></div>
- <div class="spalte2"><?php echo $cat_name;?></div>
- <div class="spalte3">
- <span id="CatEdit"><a href="#" title="Editieren von Cat=<?php echo $cat_id;?>" onclick="CatEdit(<?php echo $cat_id;?>);">edit</a>
- <img id="CatEditLoad" src="load.gif" style="display:none;"></span>
- </div>
- <div class="spalte4"><span><a href="?delete=<?php echo $cat_id;?>">delete</a></span></div>
- </div>
- <?php
- // Ende der FOR-Schleife
- }
- if(isset($_GET['edit'])) {
- ?>
- <br>
- <p>Editieren von <? while($row = mysql_fetch_object($result2)) { echo $row->cat; } ?> mit der CID = <? echo $edit_id; ?></p>
- <?
- }
- ?>
Bei klick auf "edit" in Spalte3 wird also unterhalt der Tabelle ein Test-Satz ausgeben. Funktioniert auch alles soweit. Hab das mal als Screenshot angehängt:
Das Problem ist der Ladetext sowie die Ladegrafik, die anstelle des Textes "edit" dann erscheint, wenn der Testsatz unten geladen wird.
Wie auf dem Screenshot zu sehen ist, wird..
a) Der Ladetext "laden.." in der 1. Reihe ausgegeben.
b) Die Ladegrafik allerdings in der 2. Reihe..
Obwohl ich z.B. auf den Eintrag in der 3. Reihe geklickt habe! Und da blick ich grade nicht durch. Das scheint irgendwie willkürlich jedesmal an anderer Position angezeigt zu werden.
Nur nie zusammen in der selben Reihe.. und schon garnicht dort, wo ich auch draufgeklickt habe.
Wo liegt hier der Fehler?

Bin für jeden Tipp dankbar.
Beste Grüße
Pat