CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |

01.02.2011, 13:53:57
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
Ergebnisse aus FOR Schleife in MySQL speichern
Hallo an Alle,
ich stecke seit ein paar Tagen in einem Problem fest und bitte um Hilfe.
Darum geht's: aus einer Variablen erhalte ich einen Termin (Datum in Engl.). Das
wird ins deutsche Format gewandelt. Dann wird es mit "explode" zerlegt, sodass
ich eine bestimmte Anzahl Tage hinzuzählen kann. Soweit funktioniert auch alles
schön und nett: das hinzuzählen wird in einer FOR - Scheife erledigt und mit einem
einfachen echo ausgegeben.
Hier der Code:
PHP-Code:
$dauer = $dauerfull - 1;
list($jahr, $monat, $tag) = explode("-", $datum);
for ($zaehler = 0; $zaehler < $dauer; $zaehler++) {
echo date("d.m.Y", strtotime("+" . $zaehler .
" day", mktime(0, 0, 0, $monat, $tag, $jahr)));
Ich möchte jetzt das Ergebnis das ich am Screen sehe, z.B.:
10.01.2011
11.01.2011
12.01.2011
in eine MySQL Tabelle einzeln speichern. Bei meinen bisherigen Versuchen
war das nicht, oder nur mit dem jeweils letzten Tag, möglich.
Dazu habe ich zunächst das "echo" in die Variable "$rent" gewandelt und
dann versucht diese Ergebnisse in die tabelle `reservierung` und
Spalte `datum` zu schreiben:
PHP-Code:
$sql = "INSERT INTO `reservierung` (`datum`) VALUES ('".$rent."')";
Sicherlich gibt es eine einfache Lösung. Bei Google, PHP.de/net und Foren finde
ich (jedenfalls bisher) nichts. Bitte helft!
Gruss
Sheriff
|

01.02.2011, 14:24:30
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Hallo und willkommen hier im Forum.
Du darfst Dein Ergebnis nicht in eine Variable (String) speichern, wenn die Verarbeitung erst nach der Anzeige erfolgen soll. Daher immer nur das letzte Ergebnis in der Database. Hier ist es besser Du speicherst Dein Ergebnis in ein Array. Dies kannst Du dann zur Grundelage für die Speicherung in die Database nutzen (ebenfalls mit Schleife verarbeiten, da mit einem INSERT immer nur ein Element aus dem Array hinzugefügt werden kann - oder gleich bei der Anzeige speichern).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

01.02.2011, 14:55:45
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Zitat:
Zitat von vt1816
Du darfst Dein Ergebnis nicht in eine Variable (String) speichern, wenn die Verarbeitung erst nach der Anzeige erfolgen soll. Daher immer nur das letzte Ergebnis in der Database. Hier ist es besser Du speicherst Dein Ergebnis in ein Array. Dies kannst Du dann zur Grundelage für die Speicherung in die Database nutzen (ebenfalls mit Schleife verarbeiten, da mit einem INSERT immer nur ein Element aus dem Array hinzugefügt werden kann - oder gleich bei der Anzeige speichern).
|
Ja, daran arbeite ich grade: trotzdem speichert sql nur das letzte Datum! Dabei habe ich die Variable "$rent" wie oben genannt gesetzt. Es spielt keine Rolle ob das angezeigt wird (mach' ich nur zum Test) - das Ergebnis gehört in die DB, da ist das Problem. Es bleibt beim letzten Datum.
PHP-Code:
$test=array($rent);
foreach($test as $datumliste)
{
print " $datumliste<br>";
$sql = "INSERT INTO `reservierung` (`datum`) VALUES ('$datumliste')";
}
|

01.02.2011, 15:27:21
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Zitat:
Zitat von sheriff
Ja, daran arbeite ich grade: trotzdem speichert sql nur das letzte Datum! Dabei habe ich die Variable "$rent" wie oben genannt gesetzt. Es spielt keine Rolle ob das angezeigt wird (mach' ich nur zum Test) - das Ergebnis gehört in die DB, da ist das Problem. Es bleibt beim letzten Datum.
PHP-Code:
$test=array($rent);
foreach($test as $datumliste)
{
print " $datumliste<br>";
$sql = "INSERT INTO `reservierung` (`datum`) VALUES ('$datumliste')";
}
|
Wann/wo führst Du die Query aus?
Poste den kompletten (relevanten) Code - mit den Bruchstücken läßt sich Dir nur schwer helfen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

01.02.2011, 18:45:49
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
PHP-Code:
///(verbindung.php)
mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die("<p>Konnte keine Verbindung zur Datenbank herstellen!</p>" . mysql_error());
mysql_select_db($DB_NAME) or die("<p>Die Datenbank ist momentan nicht erreichbar!</p>" . mysql_error());
/// Die "$_REQUEST" kommen im Original nicht per Übergabe, sondern aus SQL
/// Im Test übergebe ich an php: ?s=2010.02.11&d=4&kdnr=100
/// Um die Anzahl der Nächte zu berechnen: $dauer = $dauerfull - 1;
/// $kdnr um mehrfach Eintrag derselben Person zu verhindern
$datum = $_REQUEST["s"];
$dauerfull = $_REQUEST["d"];
$kdnr = $_REQUEST["kdnr"];
$dauer = $dauerfull - 1;
list($jahr, $monat, $tag) = explode("-", $datum);
for ($zaehler = 0; $zaehler < $dauer; $zaehler++) {
$rent = date("d.m.Y", strtotime("+" . $zaehler .
" day", mktime(0, 0, 0, $monat, $tag, $jahr)));
/// bis hierher funktioniert es
/// Alternative wäre eine andere Termin + Dauer berechnung als in FOR Schleife
/// Querie wird in foreach ausgeführt (zur Zeit) erzielt: letzten Datumseintrag
$termindat=array($rent);
foreach($termindat as $rent => $value) {
$sql = "INSERT INTO `reservierung` (`datum`,`id`) VALUES ('$value','$kdnr')";
}
}
Geändert von sheriff (01.02.2011 um 18:47:13 Uhr)
Grund: ups: PHP Container vergessen!
|

01.02.2011, 19:27:39
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Wann/wo kommt etwas in der Art:
PHP-Code:
$result = mysql_query($sql) or die(mysql_error());
Du führst Dein SQL-Statment nicht aus, kann diesbezüglich nichts derartiges in Deinem Code entdecken. Oder sehe ich es einfach nur nicht?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

01.02.2011, 21:29:42
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Zitat:
Zitat von vt1816
Wann/wo kommt etwas in der Art:
PHP-Code:
$result = mysql_query($sql) or die(mysql_error());
Du führst Dein SQL-Statment nicht aus, kann diesbezüglich nichts derartiges in Deinem Code entdecken. Oder sehe ich es einfach nur nicht?
|
Meinst Du das?
PHP-Code:
if (mysql_query($sql)) {
echo "Der Datensatz wurde eingetragen.";
}
... am Ende, vor </body>! Ich sitz heute schon zu lange vor diesem Problem - ich seh' den Wald vor lauter Bäumen nicht.
|

01.02.2011, 21:32:42
|
 |
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Zitat:
Zitat von sheriff
Meinst Du das?
PHP-Code:
if (mysql_query($sql)) {
echo "Der Datensatz wurde eingetragen.";
}
... am Ende, vor </body>! Ich sitz heute schon zu lange vor diesem Problem - ich seh' den Wald vor lauter Bäumen nicht.
|
Deshalb schrieb ich:
Zitat:
Poste den kompletten (relevanten) Code - mit den Bruchstücken läßt sich Dir nur schwer helfen.
|
Also dann haben wir ja die Lösung des Problems ...
Oder?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|

01.02.2011, 21:50:41
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Zitat:
Zitat von vt1816
Deshalb schrieb ich:
Also dann haben wir ja die Lösung des Problems ...
Oder?
|
Sorry ähhh, wie lautet die prognostizierte Lösung?
|

02.02.2011, 10:33:20
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 55
Beiträge: 7
|
|
AW: Ergebnisse aus FOR Schleife in MySQL speichern
Leider gibt es scheinbar doch nicht für alle Probleme eine Lösung!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:01:31 Uhr.
|