Nach Zugriff auf Access DB über PHP keine Anzeige

langerhans

Grünschnabel
Hallo,
nun ich bin Anfänger in Sachen PHP und Zugriff auf eine Access-DB.
Habe eine Accessdatenbank angelegt und eine Tab. mit vielen Einträgen drin,
nur Datum(2005-02-14) ist da drin und ich wollte mir es mal anzeigen lassen über PHP, doch hier stosse ich schon an meine Grenzen, hab den unten abgebildeten Quelltext eingegeben aber es funktioniert nicht. Wollte das Datum in einen Array packen und nur die 2005 als erstes Element des Arrays ausgeben lassen.
Als Anzeige schreibt er mir leider nur "Array" jetzt bin ich etwas verwirrt !
Kann mir jemand helfen hierbei

Gruss langerhans






<?PHP
$con = odbc_connect("statistik","","") or die(odbc_errormsg());
$var = "SELECT datum FROM nutzer";
$qrs = odbc_exec($con,$var);
If(!$qrs)
{
exit("Error in SQL");
}
odbc_fetch_row($qrs,$vari);
$aaa = explode("-", $vari[0]);
echo "$aaa";
?>
 
Hi

Du musst auch den 1. Wert des Arrays ausgeben lassen.

PHP:
odbc_fetch_row($qrs,$vari);
$aaa = explode("-", $vari[0]);
echo "$aaa[0]";

Ansonsten kannst Du in Access das Datum auch direkt in der SQL festlegen

select datum, year(datum) as Jahr from tabelle...

sofern das Feld vom Format Date ist.
 
Hi,

ja ich hab es probiert mit dem Ansprechen des ersten Feldes.( also mit "aaa[0]")
Hat aber nichts mehr angezeigt, also jetzt auch keine Anzeige des Wortes "Array" , welches es vorher ja auch noch angezeigt hat komischerweise.
Dann hab ich deinen Hinweis befolgt und mal :
$var = "SELECT datum,year(datum) as Jahr FROM nutzer"; eingetragen !
Dort kam aber dann auch nur eine weisse Seite, hab auch "aaa[0]" so belassen, aber nichts passiert. Hab dann das Trennungs Zeichen von "-" in "." geändert und wieder ne weisse Seite. :( Die Spalte Datum ist auf "datum/uhrzeit" formatiert und ich weis nun nicht weiter.
Vielleicht haste ja noch ne Idee

gruss
langerhans
 
Hi,

ja ich hab es probiert mit dem Ansprechen des ersten Feldes.( also mit "aaa[0]")
Hat aber nichts mehr angezeigt, also jetzt auch keine Anzeige des Wortes "Array" , welches es vorher ja auch noch angezeigt hat komischerweise.
Dann hab ich deinen Hinweis befolgt und mal :
$var = "SELECT datum,year(datum) as Jahr FROM nutzer"; eingetragen !
Dort kam aber dann auch nur eine weisse Seite, hab auch "aaa[0]" so belassen, aber nichts passiert. Hab dann das Trennungs Zeichen von "-" in "." geändert und wieder ne weisse Seite. :( Die Spalte Datum ist auf "datum/uhrzeit" formatiert und ich weis nun nicht weiter.
Vielleicht haste ja noch ne Idee

gruss
langerhans
 
Hi

Du musst schauen, wie das Datum ausgegeben wird.

Wenn die Gesamt-Ausgabe wie folgt lautet: 20.02.2005, dann wirst Du den Index für die Ausgabe wie folgt setzen müssen

echo $aaa[2];

Wenn ein Feld gesplittet wird, fängt der Zähler bei 0 an, [0] wäre dann der 1. Wert, [1] der 2. etc.

Genauso ist das auch beim Index aus der SQL

$vari[0] --> wäre dann datum
$vari[1] --> wäre dann da 2. Feld, also jahr

oder

$vari['jahr']
 
tach,

ne Möglichkeit wäre aber auch mal -> print_r($vari);

mal sehen was da im gesamten drin steht, dann sieht ma a) Keys und b) values

gruß
Tark
 
hi also das Datum steht in der Tabelle nutzer so drin :
nutzerdatum14.02.200514.02.200514.02.200514.02.2005

und aber komischerweise wird es wenn ich es dann mal anders ausgeben lasse mit denn folgenden Zeilen:

<?PHP
$con = odbc_connect("statistik","","") or die(odbc_errormsg());
//echo $con;
$var = "SELECT datum FROM nutzer";
$rs = odbc_exec($con,$var);
if (!$rs)
{
exit("Error in SQL");
}
echo "<th>Datum:</th>";
while(odbc_fetch_row($rs))
{
$id1 = odbc_result($rs,1);
}
echo "$id1";
//echo "$sum";
?>

bekomme ich wenigstens eine Ausgabe: "Datum : 2005-02-14 00:00:00" ! (hu ha ein kleines Stück weiter )
Aber wieso zeigt er noch die sechs NULLEN an und wie trenne ich die richtig profi mässig, den meine Versuche sind ins Nichts gelaufen !?
Bin jetzt wieder bei datum in der SQL-Anweisung zurückgekehrt und print_ hat auch keine Anzeige gebracht, aber trotzdem vielen Dank und wenn einer noch ne Idee hat dann raus damit

gruss Langerhans :)
 
Hi

ich habe das jetzt mal kurz mit einer meiner Tabellen getestet. Das funktioniert ohne Probleme.
Versuchs mal mit nachfolgendem Code. Musst natürlich die Connection, Felder und Tabelle ersetzten. Evtl. musst du Groß- und Kleinschreibung beachten.

PHP:
<?
$conn = odbc_connect('meineDSN','',''); 

$sql = "SELECT Beginn, year(Beginn) as Jahr FROM seminar";
$result = odbc_exec($conn, $sql);
while ($rows = odbc_fetch_object($result)) {
   print $rows->Jahr.".............> ";
   $var = explode("-",$rows->Beginn);
   print "Jetzt gesplittet: ".$var[0]."<br>";
   }
odbc_close($conn); 
?>
 
Zurück