Tabelle neu laden (Nicht die ganze Seite)

05/11/2013 10:06 adistoe#1
Moin

Ich habe in meiner Seite eine Tabelle:
PHP Code:
<table id="MeineTabelle">
<?php
include ("scripts/php/inc/MeinScript.php");
?>
</table>
Nun möchte ich, dass diese Tabelle alle 5 Sekunden automatisch aktualisiert wird (bzw. das "MeinScript.php" (include)), ohne dass die ganze Seite neu geladen wird.

Ich hoffe, dass mir da jemand helfen kann :)

mfg
adistoe
05/11/2013 11:59 NotEnoughForYou#2
zb. über ajax
05/11/2013 12:52 adistoe#3
Stichwort Ajax.Updater

War ich leider erfolglos, dies einzubinden, da ich im Leben noch kein Ajax angefasst habe.
Wäre nett, wenn du mir ein Beispiel zeigen könntest.

mfg
05/11/2013 13:08 Der-Eddy#4
Alternativ könnte man die Seite einfach komplett neuladen lassen über
Code:
<meta http-equiv="Refresh" content="60">
ladet die Seite alle 60 Sekunden neu
05/11/2013 14:15 flickz.#5
Code:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
	function load_table() {
		$("#MeineTabelle").load("scripts/php/inc/MeinScript.php");
	}

	$(document).ready(function() {
		window.setInterval("load_table()", 5000);
	});
</script>
<table id="MeineTabelle">
	<?php

	include "scripts/php/inc/MeinScript.php";

	?>
</table>
Habs mit jQuery gemacht, lädt die Tabelle (nur die Tabelle) alle 5 Sekunden neu.
05/11/2013 18:40 adistoe#6
@Eddy, die ganze Seite zu aktualisieren ist leider keine Option für mein Vorhaben.

@flickz, ich hab das genau so eingetragen, doch dann kommt beim Reload ein MySQL Error "No database selected".
btw. es handelt sich um einen Chat.

mfg

#edit: auf einem Webserver kommt dann eine "Access denied" Meldung, obwohl alle Daten korrekt sind.
Ich vermute, dass die Zugangsdaten durch Ajax nicht mehr berücksichtigt werden, weiss aber auch nicht mehr.

Fehler: "Access denied for user 'www-data'@'localhost' (using password: NO)"

User für die DB: root

Bis zum reload funktionierts, danach nicht mehr.
05/11/2013 19:44 #SoNiice#7
In deiner "MeinScript.php" wird vermutlich nicht auf den MySQL-Server direkt verbunden, sondern wird die MySQL Verbindung in der Index selbst geregelt?

Die einfachste Möglichkeit für dich wäre, dass du in deiner "MeinScript.php" ebenfalls zum MySQL Server verbindest.
05/11/2013 19:48 adistoe#8
Inhalt MeinScript.php:

PHP Code:
<?php
include ("scripts/php/inc/db-connect.php");
?>
<?php
      $queryResult 
mysql_query("SELECT * FROM `Chat_content` ORDER BY `Sendtime` DESC LIMIT 10") or die('Der Chat kann nicht angezeigt werden: ' mysql_error());
 
      while (
$row mysql_fetch_object($queryResult))
      {
?>
        <tr><td><span class="Time"><<?php echo $row->Sendtime?>></span> <span <?php
        
if ($row->User == 'root' $row->User == 'test')
        {
        echo 
'class="Admin"';
        }
        else
        {
        echo 
'class="User"';
        }
?>
        ><?php echo $row->User?></span>: <?php echo $row->Message?></td></tr>
<?php
}
?>
Und Inhalt db-connect.php:

PHP Code:
<?php
//Zur Datenbank verbinden
mysql_connect("localhost""root""MeinPasswort") or die(mysql_error());
mysql_select_db("website") or die(mysql_error());
?>