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!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
14.04.2010, 11:19:09
|
Anfänger
|
|
Registriert seit: Apr 2010
Ort: Hohenstein-Ernstthal
Alter: 36
Beiträge: 9
|
|
Daten via Schleife in DB eintragen
Hallo,
habe ein Problem beim Eintragen mehrerer Daten in eine Datenbank. Der folgende Code ist nur ein Ausschnitt aus dem Originalquelltext.
PHP-Code:
$pvvc1 = 0;
$pvvc2 = 0;
$pvvc3 = 0;
$pvvc4 = 0;
$pvvc5 = 0;
$pvvc6 = 0;
$pvi = 0;
$pvv1 = $xml->daily_profile->profile->values->i[$pvvc1++]->c[0]['v'];
$pvv2 = $xml->daily_profile->profile->values->i[$pvvc2++]->c[1]['v'];
$pvv3 = $xml->daily_profile->profile->values->i[$pvvc3++]->c[2]['v'];
$pvv4 = $xml->daily_profile->profile->values->i[$pvvc4++]->c[3]['v'];
$pvv5 = $xml->daily_profile->profile->values->i[$pvvc5++]->c[4]['v'];
$pvv6 = $xml->daily_profile->profile->values->i[$pvvc6++]->c[5]['v'];
$pvi = $xml->daily_profile->profile->values->i[$pvi++]['t'];
$ident = $xml->daily_profile['meter_ident'];
$sql = "INSERT INTO $table (ident, date, time, ch1, ch2, ch3, ch4, ch5, ch6) VALUES ('$ident', '$date', '$pvi', '$pvv1', '$pvv2', '$pvv3', '$pvv4', '$pvv5', '$pvv6')";
pvvc sollen Counter sein, welche auf 0 gesetzt sind.
pvv1 - 6 sind 6 verschiedene Messungen
['v'] sind die Float-Einträge welche in die Datenbank sollen.
['t'] ist die Uhrzeit
['meter_ident'] ist eine Seriennummer
und $date wurde bereits anfang des Quelltextes deklariert.
Nun zu meinem Problem: Hatte diesen Quelltext-Ausschnitt in einer For-Schleife, er soll exakt 96 mal (wird im XML Dokument im Attribut "count" deklariert, die 96mal resultieren daraus, das aller 15minuten 6 Werte [pvv1-pvv6] in das XML geschrieben wird 24h lang) durchlaufen. Nun schreibt er aber immer nur einen Datensatz in die Datenbank hinein. Wie müsste ich die Schleife programmieren, sodass alle 96 Datensätze gleichzeitig in die DB geschrieben wird?
|
14.04.2010, 11:36:27
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Daten via Schleife in DB eintragen
ist das wieder ein crossposting?
cx
|
14.04.2010, 11:55:59
|
Anfänger
|
|
Registriert seit: Apr 2010
Ort: Hohenstein-Ernstthal
Alter: 36
Beiträge: 9
|
|
AW: Daten via Schleife in DB eintragen
Nein, diesmal wirklich nicht!
|
14.04.2010, 15:14:03
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Daten via Schleife in DB eintragen
Zitat:
Zitat von benschworld
[...]
Nun zu meinem Problem: Hatte diesen Quelltext-Ausschnitt in einer For-Schleife, er soll exakt 96 mal (wird im XML Dokument im Attribut "count" deklariert, die 96mal resultieren daraus, das aller 15minuten 6 Werte [pvv1-pvv6] in das XML geschrieben wird 24h lang) durchlaufen. Nun schreibt er aber immer nur einen Datensatz in die Datenbank hinein. Wie müsste ich die Schleife programmieren, sodass alle 96 Datensätze gleichzeitig in die DB geschrieben wird?
|
Hast Du Dich schon mal hier im Forum umgesehen. Hatten vor 3-4 Tagen schon ein ähnliches Problem. Wurde gelöst - sollte Dir also auch 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!
|
14.04.2010, 15:34:13
|
Anfänger
|
|
Registriert seit: Apr 2010
Ort: Hohenstein-Ernstthal
Alter: 36
Beiträge: 9
|
|
AW: Daten via Schleife in DB eintragen
Also habs jetzt selber hinbekommen, trotzdem danke
|
14.04.2010, 15:49:21
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Daten via Schleife in DB eintragen
Zitat:
Zitat von benschworld
Also habs jetzt selber hinbekommen, trotzdem danke
|
Denke bitte an Punkt B 6.
__________________
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!
|
14.04.2010, 16:57:51
|
Anfänger
|
|
Registriert seit: Apr 2010
Ort: Hohenstein-Ernstthal
Alter: 36
Beiträge: 9
|
|
AW: Daten via Schleife in DB eintragen
Lösung: (pvv heisst jetzt channel und pvi = time)
PHP-Code:
$sql = "INSERT INTO $table (ident, date, time, ch1, ch2, ch3, ch4, ch5, ch6) VALUES ('$ident','$date','$time', '$channel1', '$channel2', '$channel3', '$channel4', '$channel5', '$channel6')"; //schreibt nur aller ersten Datensatz in DB
for ($j=1; $j<=$countvalues-1; $j++) //Beginnt erst mit Array1, da sonst fehler in mysql-befehl durch komma: INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)[B],[/B](4,5,6)[B],[/B](7,8,9);
{
$time = $xml->daily_profile->profile->values->i[$j]['t'];
$channel1 = $xml->daily_profile->profile->values->i[$j]->c[0]['v'];
$channel2 = $xml->daily_profile->profile->values->i[$j]->c[1]['v'];
$channel3 = $xml->daily_profile->profile->values->i[$j]->c[2]['v'];
$channel4 = $xml->daily_profile->profile->values->i[$j]->c[3]['v'];
$channel5 = $xml->daily_profile->profile->values->i[$j]->c[4]['v'];
$channel6 = $xml->daily_profile->profile->values->i[$j]->c[5]['v'];
//sql Befehl wird weitergeführt und schreibt die restlichen Daten in die Tabelle
$sql .= ",('$ident','$date','$time', '$channel1', '$channel2', '$channel3', '$channel4', '$channel5', '$channel6')";
}
//Fehlerausgabe wenn DB-Verbindung nicht hergestellt werden kann
if($sql != ""){
$res = mysql_query($sql) or die("<br>SQL-Fehler: " . mysql_error());
mysql_close ($verbindung) ;
|
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 17:40:19 Uhr.
|