[PHP / MySQL] Wie sieht eine MySQL Tabelle aus !?

digiTALE

Lt. Junior Grade
Registriert
Juli 2004
Beiträge
270
Hallo,

bin gerade dabei eine Umfrage zu basteln, nur das Problem ist das ich nicht weiß wie ich eine MySQL Tabelle erstellen soll. Kenn mich da leider noch nicht so richtig aus.


thx digiTALE
 
Alles erklären kann und will ich hier nicht,
aber ich kann dir ein paar Stichworte geben,
in die du dich mal reinlesen solltest.

Datenbanken an sich, Datenbankabfragesprachen (speziell SQL)
 
bist du sicher, dass für die umfrage eine datenbank nötig ist. kannst du es nicht mit einer tabellen-kalkulation àla excel lösen?
eine datenbank benötigst du erst, wenn du verschiedene tabelle relational verknüpfen möchtest.
 
wie erstellt man mit php excel-tabellen und wertet die aus?!

ähm aber um die ursprüngliche frage zu beantworten. du musst erstmal die sql-syntax verstehen (ist aber nicht schwer..!) und befehle erstellen, dann musst du diese erstellten befehle per query-funktion von php an das datenbankprogramm weiterleiten. zb so
PHP:
<?php
include 'config.php'; //in ner  zentralen config kannst du die wichtigen informationen speichern ...

//erstmal verbinden...                      
$connect = mysql_connect($host, $user, $pass) or die ("FEHLER!<br/><br/>#".mysql_errno()." - ".mysql_error()."");

$select_db = mysql_select_db($database, $connect);

if (!$select_db) 
{
   die ('Kann Datenbank nicht benutzen : ' . mysql_error());
}

//datenbank-tabelle anlegen
$q_create = "CREATE TABLE cms_content
(
irgendwas VARCHAR(30),
blabla BLOB,
zahlenwert INTEGER,
wiederwas INTEGER
)";	 

mysql_query($q_create)
// hier am besten noch prüfen obs funktioniet hat ;)

?>
so funktioniert das ganz grob...
 
@ menDuso

Wie soll ich das machen, habe bisher kein Script gefunden das ohne MySQL auskommt, sonst hätte ich ja nicht gefragt.


UND außerdem ist mir aufgefallen das bei meinem Webspace kein MySQL geht :(, da es ein kostenloser Webspace ist.

Deshalb wäre es mir hilfreich wenn ihr wüsstet wie man eine Umfrage ohne MySQL realisiert !


thx digiTALE


edit: aber wie kann ich trotzdem testen ob MySQL be mir läuft?
 
Zuletzt bearbeitet:
also ohne mysql wirds halt schon schwierig...

du müsstest das dann in textdateien schreiben und diese dann wieder auslesen... oder wie könnte man das sonst lösen? hmm...
 
ok, habe ich falsch verstande. dache es geht darum umfrageresultate auszuwerten. das häte mit excel problemlos funktioniert.
du kannst die ergebnisse in ein textfile schreiben, die funktion ist f_write(oder so ähnlich), aber das wird ein gebastel.
 
das war jemand schneller.:(
oder du lädst eine access datei auf deinen webspace und schreibst das resultat in die access-datenbank.
 
Hallo,

hab endlich nach langem Suchen etwas gefunden das auch ohne MySQL funktioniert.
Aber wenn ich es anpasse treten ein paar fehler auf.


Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /usr/export/www/vhosts/funnetwork/hosting/chrizhome/index.php on line 22

--> echo "<form action=\"$PHP_SELF\" method=\"post\">";
Keine Ahnung was hieran Falsch sein soll


Quellcode:
PHP:
<html><head>
<style>
.button{
	color:#444444; font-family:arial; font-size:15px; border:1px solid #aaaaaa;
background-color:#eeeeee; }
div.main_text{
	color:#444444; font-family:arial; font-size:16px; background-color:#ffffff;
width:690px; line-height:23px; padding-left:20px; text-align:justify}
td.umfrage{
	color:#444444; font-family:arial; font-size:15px; line-height:21px; }
</style>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<?
$varia=file("data/fragen.txt","r");

$frage=array_pop($varia);

echo "<div class=\"main_text\"><b> $frage </b><br><br>";
echo "<table width=\"680\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
echo "<td width=\"340\" valign=\"top\" class=\"umfrage\">
echo "<form action=\"$PHP_SELF\" method=\"post\">"; 

$i=0;
while(isset($varia[$i])) {
$j=$i+1;
echo "<input type=\"radio\" name=\"ant\" value=\"$j\">$varia[$i]<br>";
$i++;
} 
echo "<br>";
echo "<input type=\"submit\" value=\"Abstimmen\" class="\button\"></form></td>";

$z=file("antworten.txt","r"); 

if ($ant!='') { 

$lvote=fopen("lastip.txt","r");
$lv=fgets($lvote,255);
fclose($lvote);
$ip=getenv("REMOTE_ADDR");
if ($lv!=$ip) { 

$z[$ant-1]=$z[$ant-1]+1;
$datei=fopen("antworten.txt","w");
foreach ($z as $save) {fputs($datei,chop($save)."\n");}
fclose($datei); 

$lvote=fopen("lastip.txt","w");
fputs($lvote,"$ip");
fclose($lvote);
}
} 

$laenge=100; 

$gesamt=0;
foreach($z as $zahl)
{ $gesamt=$gesamt+$zahl; } 

$proz=array();
foreach ($z as $zahl) {
if ($gesamt!=0) {
$p=round($zahl/$gesamt*10000)/100;
array_push($proz,$p);
}
} 

$max=1;
foreach ($z as $zahl) {
$zahl=$zahl*10/10;
if($zahl > $max) { $max=$zahl; }
} 

$breite=array();
foreach ($z as $zahl)
{
$b=$zahl*$laenge/$max;
array_push($breite,$b);
} 

$i=0;
while (isset($z[$i]))
{
echo "$varia[$i]<br>"; 

echo "<td width=\"340"\>
echo "<img src=\"blau.png\" border=\"0\" width=\"$breite[$i]\" height=\"12\" alt=\"$z[$i] Stimmen\">";
$x=$laenge-$breite[$i];
echo "<img src=\"grau.png\" border=\"0\" width=\"$x\" height=\"12\" alt=\"$z[$i] Stimmen\">";
echo "$proz[$i]%";
echo "<br>";
$i++;
}
echo "<br>Stimmen: $gesamt (100%)";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";

?> 

</body></html>

fragen.txt:
Code:
Bewertung 1
Bewertung 2
Bewertung 3
Bewertung 4
Bewertung 5
Bewertung 6
Wie würdest du meine Homepage per SchulNote bewerten ?
 
also einmal :
Code:
echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
. und escapen ( \" ) vergessen.. genauso hier:
Code:
echo "<input type=\"radio\" name=\"ant\" value=\"".$j."\">".$varia[$i]."<br>";
und hier:
Code:
echo "<input type=\"submit\" value=\"Abstimmen\" class=\"button\"></form></td>";
sonst seh ich spontan keinen Fehler =)

Edit:
Code:
echo "<td width=\"340\">";

Nur mal so Allgemein, du musst darauf auchten dass du HTML code den du per echo parsed immer in " setzen musst und dass du nicht die ; vergisst.. auch verbindung von "blablub" mit $xxx keine punkte ( . = verbindungsund :) ) weglassen... =)
 
Zuletzt bearbeitet:
Alles klar ich danke euch, funktioniert jetzt alles einwandfrei :)
Naja kenn mich mit PHP noch nicht so gut deshalb sind mir die Fehler auch nicht gleich aufgefallen :rolleyes::

thx digiTALE
 
extiq schrieb:
Nur mal so Allgemein, du musst darauf auchten dass du HTML code den du per echo parsed immer in " setzen musst und dass du nicht die ; vergisst.. auch verbindung von "blablub" mit $xxx keine punkte ( . = verbindungsund :) ) weglassen... =)

Wenn ich das mal verbessern darf... Der einzige Fehler, war der fehlende Strichpunkt. Deine Kommentare wären sinnvoll gewesen, wenn du single-quotes benutzt hättest, bei double-quotes funktioniert es auch wie oben angegeben.

echo '123 '.$var.' 456';
+
echo "123 $xxx 456";
würde also identisches ausgeben.

Und wenn wir schon bei "sauber" sind, dann nehmen wir auch $_SERVER[PHP_SELF] anstatt $PHP_SELF!
 
Das Script hab ich ja nicht selbst geschrieben. Habe das Script nur noch auf meine Bedürfnisse angepasst, so gut wie ich es konnte.

Wenn es noch Verbesserungsvorschläge gibt, dann immer er damit :). Bin mit PHP noch nicht so gut Vertraut ;)


mfg digiTALE
 
Zurück
Oben