 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
13.07.2007, 08:34
|
#1
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
[php & mysql] tabelle switchen
moin, hab da eine ganz einfache abfrage, es gibt 2 tabellen, die 1. tabelle wird direkt als var mitgegeben:
PHP-Code:
$table_news = "news";
jetzt möchte ich, dass als erstes check läuft ob tabelle news existiert und daten hat, wenn nicht dann soll
PHP-Code:
$table_news = "news_backup";
laufen. geht das?
__________________
computer tun nur das was man ihnen sagt, meistens
wenn's geholfen hat - bewerte
|
|
|
13.07.2007, 11:11
|
#2
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Oyten
|
Dann frag den SQL-Server doch einfach, ob er die Tabelle kennt:
Code:
SHOW TABLES LIKE '$table_news'
Die Rückgabe kannst Du entsprechend auswerten...
|
|
|
13.07.2007, 11:28
|
#3
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
was ich bis jetzt habe:
PHP-Code:
$sql = "SELECT * FROM news";
$result = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows ($result);
$table_news = ' ';
if (mysql_num_rows($result)) {
$table_news = "news";
}
else {
$table_news = "news_backup";
}
mysql_free_result($result);
dann folgt eine abfrage auf die definierte tabelle:
PHP-Code:
$sql = "SELECT * FROM $table_news WHERE Pro_Lin_ID=2005";
$result = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows ($result);
if(mysql_num_rows($result)) {
echo "News in der Datenbank:<br />\n";
while($row = mysql_fetch_assoc($result)) {
echo $row['Art_Lan']."<br />\n";
}
echo "<br />".$num_rows." News gesamt<br />";
}
else {
echo "Es sind keine News in der Datenbank vorhanden<br />\n";
}
mysql_free_result($result);
komischerweise haut das hin aber das ergebnis kommt dreifach 
__________________
computer tun nur das was man ihnen sagt, meistens
wenn's geholfen hat - bewerte
|
|
|
13.07.2007, 11:46
|
#4
|
|
TP-Veteran
Registriert seit: May 2006
|
Deine obige Abfrage nach der Tabelle funktioniert nicht. Was ist denn, wenn in News keine Datensätze enthalten sind? Dann wird auch die news_backup benutzt. Soll das so sein?
Wieso benutzt Du nicht die Lösung von DSB?
Das zweite sollte eigentlich nicht passieren. Bist Du sicher, dass es nur einen passenden Datensatz gibt?
__________________
...Meine Meinung
1984
|
|
|
13.07.2007, 12:00
|
#5
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
warum funktioniert der erste teil nicht? was ist da falsch?
ja, richtisch, wenn in news nix drin, am besten erst check, ist table news da, wenn ja - sind daten da, wenn ja dann nimm sie, sonst news_backup ziehen.
wie funzt das mit
PHP-Code:
SHOW TABLES LIKE '$table_news'

__________________
computer tun nur das was man ihnen sagt, meistens
wenn's geholfen hat - bewerte
|
|
|
13.07.2007, 12:35
|
#6
|
|
TP-Veteran
Registriert seit: May 2006
|
Wenn Du abfragst:
PHP-Code:
SHOW TABLES LIKE 'news'
Und ein Ergebnis zurückkommt, dann ist die Tabelle vorhanden. Kommt kein Ergebnis zurück bzw. ist dieses leer, gibt es 'news' nicht und Du musst 'news_backup' benutzen.
__________________
...Meine Meinung
1984
|
|
|
13.07.2007, 13:21
|
#7
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
ich check das nicht
wie wird show tables eingesetzt?
PHP-Code:
$sql = "SHOW TABLES LIKE 'news'";
und dann?
__________________
computer tun nur das was man ihnen sagt, meistens
wenn's geholfen hat - bewerte
|
|
|
14.07.2007, 13:45
|
#8
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
PHP-Code:
$sql = "SHOW TABLES LIKE 'news'"; $res=mysql_query($sql); if(mysql_num_rows($res) { #ist vorhanden } else { #Pech gehabt }
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:27 Uhr.
|
 |