Webmaster reinschauen! (MySQL und CSS Stylesheet)

Registriert
11. Oktober 2001
Reaktionspunkte
140
Ort
Braunschweig
Will meine links in zukunft über ein formular updaten, die dann in einer Datenbank gespeichert werden und ALPHABETISCH sortiert ausgegeben werden. Hab nur leider keinen plan von mysql und wie ich da was einrichten, installieren, codieren... muss.

desweiteren ignoriert Mozilla meine CSS Datei. Wer helfen kann, bitte melden.

Danke schonmal
 
Moin,

Du brauchst erstmal Webspace, der PHP und Mysql unterstützt.

Dann ziehst Du dir PhpMyAdmin von http://www.phpmyadmin.net/ und legst z.b. die folgende Datenbank an:

Code:
CREATE TABLE downloads (
  id int(6) NOT NULL auto_increment,
  titel varchar(25) default NULL,
  kategorie varchar(50) default NULL,
  beschreibung varchar(255) default NULL,
  url varchar(200) default NULL,
  letzterklick date default NULL,
  counter int(15) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Diese DB unterstützt sogar das loggen der Downloads.

Dann musst Du nen HTML formular haben, um Daten in diese zu schreiben:

Code:
<form method="POST" action="download-add.php">
Titel: <input type="text" name="titel" size="30"><br>
Kategorie: <input type="kategorie" name="titel" size="30"><br>
Beschreibung: <input type="text" name="beschreibung" size="30"><br>
Download URL: <input type="text" name="url" size="30"><br>
<input type="submit" value="Eintragen" name="send">
</form>

Dann brauchst Du die PHP Datei, die diese Daten in die Datenbank einträgt, in diesem Falle sollte sie download-add.php heissen:

Code:
<?php
// Datenbank - Zugriffsdaten
$dbhost = 'HOSTNAME'; // MySQL hostname
$dbuser = 'USERNAME';        // MySQL user
$dbpwd  = 'PASSWORT';        // MySQL password 
$dbname = 'DATENBANKNAME';      // MySQL database name

// Download in die Datenbank eintragen
$datum = strftime("%Y-%m-%d");

$verbindung = mysql_connect($dbhost, $dbuser, $dbpwd);

if($verbindung)
{
  if(mysql_select_db($dbname, $verbindung))
  {
     $sql="SELECT * FROM downloads";
     $i=mysql_num_rows(mysql_query($sql, $verbindung)) + 1;
     $sql="INSERT INTO downloads VALUES('$i','$titel','$kategorie','$beschreibung','$url','$datum','1')";
     if(mysql_query($sql,$verbindung))
     {
      echo "Download erfolgreich eingetragen.";
     }
     else
     {
      echo "Fehler beim schreiben in die Datenbank:";
      echo mysql_errno() . ": " . mysql_error();
     }
  }  
  else
  {
   echo "Datenbank $dbname konnte nicht ausgewählt werden.";
   echo mysql_errno() . ": " . mysql_error();
  }
 mysql_close;
}
else
{
 echo "Verbindung konnte nicht hergestellt werden.";
 echo mysql_errno() . ": " . mysql_error();
}
?>

Das Interface zum Verändern kann vom Formular wie das obere Formular aussehen, allerdings muss dann die Verarbeitungs Datei ein wenig verändert werden.

Die folgende Zeile:

Code:
$sql="INSERT INTO downloads VALUES('$i','$titel','$kategorie','$beschreibung','$url','$datum','1')";

muss durch diese hier ersetzt werden:

Code:
$sql="UPDATE downloads SET titel='$titel',kategorie='$kategorie', beschreibung='$beschreibung', url='$url' WHERE id='$id'";

So, das wars dann eigentlich mim Eintragen. Auslesen und anzeigen kannst Du deine Downloads dann z.b. so:

Code:
<?php
// Datenbank - Zugriffsdaten
$dbhost = 'HOSTNAME'; // MySQL hostname
$dbuser = 'USERNAME';        // MySQL user
$dbpwd  = 'PASSWORT';        // MySQL password 
$dbname = 'DATENBANKNAME';      // MySQL database name

// Downloads enzeigen

$verbindung = mysql_connect($dbhost, $dbuser, $dbpwd);

if($verbindung)
{
  if(mysql_select_db($dbname, $verbindung))
  {
     $sql="SELECT * FROM downloads ORDER BY titel ASC";
     $ergebnis=mysql_query($sql,$verbindung);
     while($row=mysql_fetch_array($ergebnis))
      {
      echo  $row["titel"] .  "<a href=\"" . $row["url"] . "\">Download</a>";
      }
     mysql_free_result($ergebnis);
   }
   Else
   {
      echo "Fehler beim Auswählen der Datenbank:";
      echo mysql_errno() . ": " . mysql_error();
   }
  mysql_close($verbindung);
  }
  Else
  {
   echo "Fehler beim Verbinden mit der Datenbank:";
   echo mysql_errno() . ": " . mysql_error();
  }
?>

Jo und das wars. Das Design der Anzeige kannste selber anpassen. Ein lauffähiges Beispiel findest Du auf http://www.gsm-dev.com

Viel Spass beim testen,

greets,

flused
 
Nachtrag:

Nen Php code zum erzeugen der Datenbank:

Code:
<?php
// Datenbank - Zugriffsdaten
$dbhost = 'HOSTNAME'; // MySQL hostname
$dbuser = 'USERNAME';        // MySQL user
$dbpwd  = 'PASSWORT';        // MySQL password 
$dbname = 'DATENBANKNAME';      // MySQL database name

// Download in die Datenbank eintragen
$datum = strftime("%Y-%m-%d");

$verbindung = mysql_connect($dbhost, $dbuser, $dbpwd);

if($verbindung)
{
  if(mysql_select_db($dbname, $verbindung))
  {
$sql = 'CREATE TABLE downloads( id int( 6 ) NOT NULL auto_increment, titel varchar( 25 ) default NULL , kategorie varchar( 50 ) default NULL , beschreibung varchar( 255 ) default NULL , url varchar( 200 ) default NULL , letzterklick date default NULL , counter int( 15 ) default NULL , PRIMARY KEY ( id ) ) TYPE = MYISAM '; 
     if(mysql_query($sql,$verbindung))
     {
      echo "Tabelle erfolgreich erstellt.";
     }
     else
     {
      echo "Fehler beim schreiben in die Datenbank:";
      echo mysql_errno() . ": " . mysql_error();
     }
  }  
  else
  {
   echo "Datenbank $dbname konnte nicht ausgewählt werden.";
   echo mysql_errno() . ": " . mysql_error();
  }
 mysql_close;
}
else
{
 echo "Verbindung konnte nicht hergestellt werden.";
 echo mysql_errno() . ": " . mysql_error();
}
?>

greets,

flused
 
Zurück