mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 03.08.2004, 13:41   #1
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt

Kopieren von INhalten aus mySQL-Tabelle


Moin.

Ich habe da ein Problem: Ich lasse mir aus einer Tabelle "Termine" alle Felder auslesen. Identifiziert werden sie über "terminID". Das Script beinhaltet u.a. folgende Anweisungen:
Code:
$sqlab = "select * from termine ";
$sqlab .= "order by datum";
$res = mysql_db_query($db_name, $sqlab);
$num = mysql_num_rows($res);

(...) 

for ($i=0; $i<$num; $i++)
{
$nummer = mysql_result($res, $i, "terminID");
$top = mysql_result($res, $i, "header");
$zeit1 = mysql_result($res, $i, "datum"); //ist timestamp
$wann1 = date("d.m.Y", $zeit1); //umwandeln in d.m.Y.Format
$zeit2 = mysql_result($res, $i, "datum2"); // ist timestamp
$wann2 = date("d.m.Y", $zeit2); //umwandeln in d.m.Y.Format
$terminur = mysql_result($res, $i, "ttext");
$termin = nl2br($terminur);// <br>s umwandeln
		
//tabellenzeilen mit -zellen
echo ("\t<tr>".
	"\n\t\t<td class=\"$col\" valign=\"top\"><input type=\"radio\" name=\"auswahl\" value=\"$nummer\"></td>".
	"\n\t\t<td class=\"$col\" width=\"110\" valign=\"top\">$top</td>".
	"\n\t\t<td class=\"$col\" width=\"80\" valign=\"top\">$wann1</td>".
	"\n\t\t<td class=\"$col\" width=\"80\" valign=\"top\">$wann2</td>".
	"\n\t\t<td class=\"$col\">$termin</td>".
	"\n\t</tr>");
}
Es werden also alle Inhalte aus der Tabelle "termine" angezeigt. Über einen Radio-Button treffe ich eine Auswahl. Nun soll bei Drücken auf Absende-Button der ausgewählte Datensatz in eine Tabelle "topper" eingefügt werden. Also im Grunde ein Kopieren von Datensatz X aus Tabelle "termine" in Tabelle "topper". Beide haben die gleichen Felder, mit der Ausnahme, dass "topper" kein Feld mit der Bezeichnung "terminID" hat. Ich habe es in dem Script, an das die Daten übergeben werden mit UPDATE versucht. Aber ich bekomme keine Daten übertragen.

Auf der "zweiten Seite", also dem verarbeitenden Script, habe ich, weil nichts passierte, einmal ein
Code:
echo $auswahl;
geschrieben. Und tatsächlich liest er die entsprechende terminID aus und stellt sie dar. Ein
Code:
echo $top;
ergab hingegen gar nichts!

Das Script beinhaltet u.a. folgenden Code:
Code:
//mysql-anweisungen
$sqlab = "select  * from termine ";
$sqlab .= "where terminID = '$auswahl'";

$sqlab = "update topper set toptop = '$top' , ";
$sqlab .= "topdate1 = '$wann1' , ";
$sqlab .= "topdate2 = '$wann2' , ";
$sqlab .= "toptext = '$termin' , ";
$sqlab .= "where terminID = '$auswahl'";

mysql_db_query($db_name, $sqlab);
   
$num = mysql_affected_rows();

if($num>0) {
echo "Datensatz geschrieben";
} else {
echo "Datensatz nicht geschrieben";
}
So. Und ich rutsche immer in die else-Anweisung rein: "Datensatz nicht geschrieben". Warum? Wo liegt der (vermutlich kleine) Fehler?? Hilfe!?

Schöne Grüße
Mq
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten


Alt 03.08.2004, 14:47   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Was soll denn in dem 2. Script die Select-Anweisung aus termine?
Die Zeile
$sqlab .= "where terminID = '$auswahl'";
ist etwas komisch, wenn Du schreibst, dass die tabelle topper keine terminID Zelle hat.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 03.08.2004, 15:11   #3
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Jaaa, das kommt noch daher, weil ich das von einem Edit-Script übernommen habe. Da wird aber auch in die gleiche Tabelle geschrieben. Natürlich habe ich auch schon dran gedacht und das "where blabla" weggenommen. Dann komme ich lustigerweise auch in die positive Feedback-Schleife rein. Ich bekomme also ausgegeben, dass ein Datensatz erfolgreich geändert wurde. Schaue ich jedoch mit mysqladmin einmal in die Felder, sind sie leer. Da wurde nichts reingeschrieben!
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 03.08.2004, 17:21   #4
TP-Moderator
 
Benutzerbild von Peter
 
Registriert seit: Nov 2001
Ort: Vienna
Peter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKEPeter ist ein richtiges Arbeitstier - DANKE
Du weißt aber schon, dass man mit update nix kopieren kann, sondern, dass man den Datensatz mit Insert neu einfügen muss.

Falls ja, dann musst du doch in Zeile 7 ein vorhandenes Feld von topper ansprechen:
PHP-Code:
 $sqlab .= "where terminID = '$auswahl'"
Grüße,
Peter
__________________
_________-- - adicto otra vez - --
(¯`·.¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸..¸¸.·´¯`·.¸¸.·`¯)
Unterwasserrugby - der dreidimensionale Sport
Peter ist offline   Mit Zitat antworten
Alt 03.08.2004, 23:19   #5
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
*hmm* Mein Denkfehler. Ich dachte, dass ich den bereits vorhandenen Datensatz einfach "überschreiben" kann. Mit INSERT schreibe ich ja den ausgewählten Datensatz zusätzlich in die Tabelle, so werden es schließlich immer mehr Einträge mit der Zeit. Kann ich nicht sonst vor dem INSERT noch einmal die Tabelle "topper" komplett löschen? So dass ich eben nach dem Eintrag des neuen Datensatzes wieder nur einen Datensatz habe?

Klar, ich könnte die Abfrage fürs Frontend so gestalten, dass immer der letzte/ jüngste Eintrag zu sehen ist. Aber dennoch: Geht es nicht "sauberer" (im Sinne von weniger Datensätze in meiner Tabelle)?

Grüße
MQ
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 03.08.2004, 23:49   #6
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Nun versteh ich hier garnix mehr. Welche Aufgabe hat den die tab. topper?
Wenn es nur darum geht, dass der jüngste Datensatz angezeigt werden soll, hol den doch aus der tab. termine, das kannst Du doch schon via Select machen.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 04.08.2004, 01:14   #7
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Also: Auf Seite X, die vom Besucher im Browser aufgerufen wird, soll der Inhalt von Tabelle topper zu sehen sein. topper wird befüllt mit Datensätzen aus entweder Tabelle termine, Tabelle aktuelles oder es wird direkt in Tabelle topper geschrieben. Auswahl oder Schreiben geschieht im Admin-Bereich.

Mit INSERT geht es, wie beschrieben, aber meine Frage geht jetzt in die Richtung, ob es eine Art "Überschreiben" gibt, damit es immer (sagen wir aus rein ästhetischen Gründen) nur einen Datensatz in Tabelle topper gibt. Ja, man kann es auch sein lassen und beim Aufruf von Seite X immer auf topper zugreifen und lediglich den neuesten/ jüngsten Eintrag anzeigen. Es ist jetzt nur die Frage, ob auch die "ästhetische" Weise geht? Eventuell vorher alles aus Tabelle topper löschen und dann den ausgewählten Datensatz reinschreiben?

Grüße
MQ
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 04.08.2004, 01:26   #8
TP-Supporter
 
Registriert seit: Sep 2003
Ort: Wien, Österreich
GodfatherDeluxe macht sich hier sehr viel Mühe
sicher kannst du datensätze "überschreiben":
Zitat:
UPDATE tabelle SET feld1='wert1', feld2='wert2', feld3='wert3' WHERE feldx='deineBedingung'
Achtung: wenn du ein update ohne eine Bedingung ausführst, dann werden alle Einträge in der Tabelle upgedated (als bedingung empfiehlt sich logischerweise der primärschlüssel des zu ändernden datensatzes, sofern nur ein bestimmter Eintrag editiert werden soll).
__________________
Java != JavaScript

"He who makes a beast of himself gets rid of the pain of being a man."
Dr. Johnson
GodfatherDeluxe ist offline   Mit Zitat antworten
Alt 04.08.2004, 01:33   #9
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Aber das klappt doch gerade nicht. Siehe ersten Beitrag. *scrollhoch* Wie gesagt: Mit INSERT läuft es. Wie bekommt man nur vorher den in der Tabelle befindlichen Inhalt gelöscht? Danach wird reingeschrieben. Ein
Code:
$sqlab = "delete * from topper";
   
$sqlab = "select  * from termine ";
$sqlab .= "where terminID = '$auswahl'";
(... s.o.)
klappt nicht. Es wird einfach reingeschrieben, nichts gelöscht. Wahrscheinlich falsche Anweisung von meiner Seite...
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 04.08.2004, 01:40   #10
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Wie schon gesagt, einfach wäre das Update.
Wenn immer nur ein Datensatz in topper sein soll kann man sich auch manuell eine Zelle ID anlegen, bei ID den Wert1 eintragen und dann mit fogendem Code updaten
PHP-Code:
    $result mysql_query("UPDATE topper SET topdate1= '$wann1', topdate2= '$wann2', toptext='$termin' WHERE id = '1'"); 
Oder man löscht die Tabelle und lässt sie neu erstellen.
Dazu folgendes
PHP-Code:
    $result mysql_query("TRUNCATE TABLE topper");
 
$result mysql_query("INSERT INTO topper (topdate1,topdate2,toptext) VALUES ('$wann1','$wann2','$termin')"); 
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 04.08.2004, 02:57   #11
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Gut Ding braucht Weil... - Es klappt also doch mit dem UPDATE. Der Fehler lag somit in meiner ersten MySQL-Anfrage im "where terminID = '$auswahl'", weil ich eine Identifizierung über die terminID machen wollte und da noch nicht das Auslesen der Datenbankabfrage und dem Zwischenspeichern in Variablen hatte. Und da - wie schon alle richtig bemerkt haben - in der Tabelle "termine" kein Feld terminID ist, gabs eben Kuddelmuddel.

Habe jetzt den Rat von webcreate mit der ID mit dem Wert 1 genommen. Klappt wunnaba!

Problem also gelöst! Dank an alle Beitrag-Schreiber!

Grüße
MQ
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Kopieren von INhalten aus mySQL-Tabelle Kopieren von INhalten aus mySQL-Tabelle
« Ich brauche Hilfe im einbau eines Forum's - evtl gegen Bezahlung | Suche Leute, die sich gut mit FPDF auskennen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Auslesen von Daten aus Tabelle olist Traum-Dynamik 1 16.11.2003 01:10
MySQL Tabelle für Dreamweaver?! Storm Dreamweaver 6 10.01.2003 17:49
auswertung von checkbox formularen für Mysql HeinsMarcel Traum-Dynamik 2 30.01.2002 19:09
Problem: Übergabe von Variablen aus einem Formular(Checkboxen) an Mysql HeinsMarcel Traum-Dynamik 12 27.01.2002 15:59
übergabe von inhalten aus html dares Traum-Dynamik 2 13.10.2001 12:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:10 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67