Guten Abend,
Ich versuche ein Script mit PHP zu erstellen, dass unter einer Bestimmten die ID von einer Datenbanktabelle abzurufen und diese erstmal nur auszugeben (sie soll später in eine andere Datenbanktaqbelle wieder reingeschrieben werden, aber das ist ja eig kein Problem)
Wenn ich ganz normal die Verbindung zu mienem Apache Server aufbaue, klappt das soweit:
<?php
//Datenbankeinstellungen
$server= localhost;
$datenbank= test;
$tabelle1= termine;
$db= mysql_connect($server);
mysql_select_db($datenbank, $db);
$sql="Select ID_termin From $tabelle1 Order by ID_termin Desc";
$information= mysql_query($sql, $db);
For ($i=0;$i<mysql_num_rows($information);$i++)
{$termin[$i]=mysql_fetch_array($information);}
For ($i=0;$i<count($termin);$i++)
{echo $termin[$i][ID_termin]." ";}
?>
Hier zeigt er mir die einzelnen Nummern der Datenbanktabelle an.
Versuche ich es aber nun die paar Zeilen in das Hauptscript zu integrieren, (sowohl Probe mit intern als auch extern per include) kommt folgende Fehlermeldung:
(bei exerner Integration)
PHP Fatal error: Cannot use string offset as an array in DServer\blabla.php on line 15, referer:
das wäre diese Zeile:
{echo $termin[$i][ID_termin]." ";}
wenn ich $termin zähle, wird nur 1 angezeigt.
Hier das "Hauptscript":
<?php
//Erwartung kein Fehler
$fehler_g=0;
//Funktion für Datumsänderung: von Deutsch Format ins Englische
function Datumaendern($datum1)
{
$datum1=substr($datum1, -4)."-".substr($datum1, 3,2)."-".substr($datum1, 0,2);
return $datum1;
}
//Datenbankeinstellungen
$server= localhost;
$datenbank= test;
$tabelle1= termine;
$tabelle2= trainingslager;
$db= mysql_connect($server);
mysql_select_db($datenbank, $db);
//Kategoriearray
$katego[0]= "";
$katego[1]= "Wettkampf";
$katego[2]= "Trainingslager";
$katego[3]= "Kadertraining";
$katego[4]= "Lehrgang";
$katego[5]= "Vorführung";
$katego[6]= "Prüfung";
If ($sent==1)
{
//Vollständigkeit überprüfen
If (!$termin)
{$fehler= "<p>Termin</p>";}
If (!$datum)
{$fehler.= "<p>Datum</p>"; }
If ($kategorie==$katego[0])
{$fehler.= "<p>Katgorie</p>";}
If (!$ort)
{$fehler= "<p>Ort</p>";}
//Trainingslager überprüfen:
If ($kategorie==$katgeo[2]and !$zeitraum)
{$fehler.= "<p>Zeitraum</p>";}
//Datumsformat überprüfen
If ($datum and !($datum{2}=="." and $datum{5}=="." and $datum{7}=="0"))
{$fehler1="<h4>Falsches Datumsformat, bitte in Format dd.mm.yyyy angeben!</h4>";}
If ($fehler)
{
echo "<h4>Es fehlt".$fehler."</h4>";
$fehler_g++;
}
If ($fehler1)
{
echo $fehler1."<hr>";
$fehler_g++;
}
If ($fehler_g==0)
{
//Doppel-Posting ausschließen
$sql= "Select zeit From $tabelle1 Order by zeit Desc";
$information= mysql_query($sql, $db);
mysql_close($db);
For ($i=0;$i<mysql_num_rows($information);$i++)
{
$zeitwert[$i]=mysql_fetch_array($information);
If ($zeitwert[$i][zeit]==$zeit)
{$doppelt=true;}
}
//Doppel-Posting:JA
If ($doppelt)
{
//Fehlermeldung ausgeben
echo"<h2>Beitrag ist schon versendet worden</h2>";
//Einträge leeren
$termin="";
$datum="";
$ort="";
$zeitraum="";
}
//Doppel-Posting:Nein --> Eintrag in Datenbank
Else
{
//Datum umwandeln
$datum= Datumaendern($datum);
//Informationen senden
include("Mistehdasgehtdochgarnet.php");
$sql="Insert into $tabelle1(termin, datum, zeit, kategorie, ort) values ('$termin','$datum', '$zeit', '$kategorie', '$ort')";
mysql_query($sql, $db);
}
}
}
?>