Events ankündigen

Hab die Zeitabfrage noch garnicht reingetan! Du meinst doch dieses INTERVAL, 7 DAY ?
Hab das Script wie oben gepostet - klappt aber net
 
Ja wie gesagt, hab das Script wie oben im Eintrag (2.9.05 9:12h) und bekomme immer die Fehlermeldung: "Fehler in der Abfrage". Stimmt denn etwas nicht mit der Datenbankstruktur? Oder an der MySQL Verbindung? Irgendwo nen Komma zu wenig? Ich seh nix und bin das schon tausendmal durchgegangen!
 
Hallo!

Versuch es mal so:
Code:
-- 
-- Tabellenstruktur für Tabelle `tabelle`
-- 
CREATE TABLE `tabelle` (
`id` int(10) NOT NULL auto_increment,
`event` varchar(50) collate latin1_general_ci NOT NULL default '',
`name` varchar(50) collate latin1_general_ci NOT NULL default '',
`zeit` time NOT NULL default '00:00:00',
`datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
PHP:
<?php
// Config
$dbhost = "localhost";
$dbuser = "xxx";
$dbpass = "xxx";
$dbname = "nordi";
$dbtable = "tabelle";
 
// Verbindung zur Datenbank aufnehmen
mysql_connect("$dbhost","$dbuser","$dbpass");
 
// Datenbank auswählen
mysql_select_db("$dbname");
 
// Daten aus der Datenbanktabelle auslesen
$result = mysql_query("SELECT id,event,name,zeit,datum FROM $dbtable WHERE datum BETWEEN CURDATE() AND CURDATE() +6 ORDER BY datum");
 
// ausgabe der Tabelle
echo "<table border=\"1\">";
$i=0;
while($row = mysql_fetch_array($result))
{
	 echo "<tr>";
	 echo "<td>".$row['event']."</td>";
	 echo "<td>".$row['name']."</td>";
	 echo "<td>".$row['zeit']."</td>";
 
	 // Umwandlung vom MySQL Datum ins deutsche Format mit anschliessender Ausgabe
	 echo "<td>".date('d.m.Y', strtotime($row['datum']))."</td>";
	 echo "</tr>";
$i++;
}
echo "</table>";
?>
Gruss Dr Dau
 
Wenn ich den SQL Befehl bei phpMyAdmin ausführen will, um die Tabelle zu erstellen, kommt die folgende Fehlermeldung:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'collate latin1_general_ci NOT NULL default '',
`name` varchar(
 
NOT NULL muss immer an letzter Stelle stehen, also muss es
collate latin1_general_ci default '' NOT NULL,
heissen!
 
Zuletzt bearbeitet:
Ok,
habs so gemacht :

PHP:
CREATE TABLE `tabelle` (
`id` int(10) NOT NULL auto_increment,
`event` varchar(50) collate latin1_general_ci default '' NOT NULL,
`name` varchar(50) collate latin1_general_ci default '' NOT NULL,
`zeit` time NOT NULL default '00:00:00',
`datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

Dann kommt der folgende Fehler:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'collate latin1_general_ci default '' NOT NULL,
`name` varchar(
 
@ZeroEnna, dass ist Blödsinn.
1. ist default '' der der Standardeintrag für NOT NULL, kann also erst danach eingetragen werden.
2. warum funktioniert es dann bei mir?
3. wenn es nicht funktionieren würde, währe es ein Bug in phpMyAdmin, genauer gesagt in SQL Dump..... denn ich habe es nicht per Hand getippt, sondern mit phpMyAdmin exportiert..... und grad eben noch mal getestet ob es sich auch impotieren lässt.... Ergebnis: funktioniert.

@nordi, evtl. hast Du eine andere phpMyAdmin/MySQL Version wie ich..... da gibt es nämlich Unterschiede. :(
So heisst es z.b. unter MySQL 4.0.25 TYPE=MyISAM, unter MySQL 4.1.11 hingegen heisst es ENGINE=MyISAM.

Trage die Felder doch per Hand ein.
Der Datenbankname ($dbname) und der Tabellenname ($dbtable) spielen hierbei keine Rolle, da diese ja im Script ganz oben angepasst werden können. ;)
Die Feldnamen und Typen kannst Du ja meinem vorherigem Posting entnehmen.
Für den Index nimmst Du das Feld "id" als PRIMARY Indextyp.
Beim Feld "id" darfst Du natürlich nicht vergessen als "Extra" "auto_increment" zu wählen.
Die "Kollation" wurde bei mir automatisch gesetzt, genauso wie die Einträge in "Standard".
 
ja, hab dieses " collate latin1_general_ci " weggelassen und jetzt klappts! keine ahnung warum! danke für die hilfe!
 
Zurück