PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filmdatenbank | PHP/MySQL..... Probleme


ca | Blade-IV
2003-12-22, 16:24:18
lu,

ich hab atm urlaub und wollt ma j4f ne kleine Film db basteln.... hab vorher noch nicht wirklcih viel mit DB gemacht, auseer mal was fertiges hier und dort eingebunden.

... und da ich von Büchern nich soviel halt dacht ich fängst haltz einfach mal an :D :D

naja besonders weit bin ich nich gekommen ;)

========
connect.php
========

<?php
$server = "localhost";
$user = "Blade-IV";
$pass = "ICH BIN EIN PASSWORT";
$datenbank = "movies";

$verbindung = mysql_connect($server,$user,$pass) or die ("Geht wohl ned =P");
mysql_select_db($datenbank) or die ("DB kaputt");
?>

========
include.php
========

<?php
include("./connect.php");
$eintrag = "INSERT INTO movies (titel, language, codec, cds)
VALUES ('$titel', '$language', '$codec', '$cds')";
$eintragen = mysql_query($eintrag);
?>

========
submit.php
========

<html>
<head>
<title>.:: Blade-IV ONline | Movie DB ::.</title>
</head>
<body>
<form action="./include.php" method="POST">
<br>.:: movie title ::.
<br>
<input type="text" name="title" maxlength="80">
<br>
<br>.:: movie language ::.
<br>
<input type="text" name="language" maxlength="3">
<br>
<br>.:: movie codec ::.
<br>
<input type="text" name="codec" maxlength="5">
<br>
<br>.:: movie cds ::.
<br>
<input type="text" name="language" maxlength="1">
<br>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>

hmmm also ich vermute mal das das eintragen funktioniert ;) (jedenfalls wird die DB jedes mal größer nach dem ich per submit was losgeschickt hab....

nur leider hab ich grad kein plan wie ich das dingens auslesen soll/kann.....

TiA,

mfg,Alex.R.

007
2003-12-22, 17:03:05
http://www.schattenbaum.net/php/anzeigen.php

ca | Blade-IV
2003-12-22, 17:22:29
<?php
$abfrage = "SELECT tiel FROM movies";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->titel;
}
?>

// müsste da nicht noch include connect.php rein ?!....

bzw. wenn ich das mach bekomm ich:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/kunden/ca-lan.de/DB/abfrage.php on line 5

bei:

<?php
include("./connect.php");
$abfrage = "SELECT titel FROM movies";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->titel;
}
?>

und soweit war ich schonmal... :D

//wenn ich es genauso mache:

<?php
include("./connect.php");
$abfrage = "SELECT titel FROM movies";
$ergebnis = mysql_query($abfrage);
# while($row = mysql_fetch_object($ergebnis))
{
echo $row->titel;
}
?>

erhalte ich zwar keine fehlermeldung aber einen weisen bildschirm ?!

Nase
2003-12-22, 18:54:53
Versuch es mal damit:

$anfrage = mysql_query("SELECT titel FROM movies");
while ($row = mysql_fetch_array($anfrage))
{

echo $row[titel];

}

ca | Blade-IV
2003-12-22, 20:19:18
hmm danke nochmal an alle.... der fehler lag allerdings schon weiter vorne (include) ich hatte das nochmal geändert...

//so ausgabe funktioniert einwandfrei.... allerdings würd ich die daten am liebsten gleich in einer tabelle ausgeben....

<?php
include("./connect.php");
$abfrage = "SELECT * FROM movies";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_array($ergebnis))
{

echo $row["titel"];
echo $row["cds"];
echo $row["language"];
echo $row["codec"];
echo $row["pic"];
echo "<br>";
}
?>


kann ich hier nun nicht einfach html zeugs reinkritzeln damit es in einer tabelle ausgegeben wird ? habs grad paar mal versucht allerdings ohne erfolg :(.... achja und man kann doch auch sicher eine url als soclhe ausgeben (pic)

TiA,

mfg,Alex.R.

Lunar_Gate
2003-12-23, 13:16:37
ACHTUNG: Ich schreibe dir nur schnell die Ausgabeprozedur hin! Zur besseren Lesbarkeit hab ich ein paar mehr echo benutzt als nötig!;)
...
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">";

echo "<tr><td>titel<td>cds<td>language<td>codec<td>pic</tr>";
while($row = mysql_fetch_array($ergebnis))
{
echo "<tr>";
echo "<td>".$row["titel"];
echo "<td>".$row["cds"];
echo "<td>".$row["language"];
echo "<td>".$row["codec"];
echo "<td>".$row["pic"];
echo "</tr>";
}
echo "</table>";

Nase
2003-12-23, 15:36:06
Original geschrieben von Lunar_Gate
ACHTUNG: Ich schreibe dir nur schnell die Ausgabeprozedur hin! Zur besseren Lesbarkeit hab ich ein paar mehr echo benutzt als nötig!;)
...
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">";

echo "<tr><td>titel<td>cds<td>language<td>codec<td>pic</tr>";
while($row = mysql_fetch_array($ergebnis))
{
echo "<tr>";
echo "<td>".$row["titel"];
echo "<td>".$row["cds"];
echo "<td>".$row["language"];
echo "<td>".$row["codec"];
echo "<td>".$row["pic"];
echo "</tr>";
}
echo "</table>";
Und das soll was darstellen? Ich zähle direkt schon 10 Fehler. Und wirklich schön gelöst ist es auch nicht...

ca | Blade-IV
2003-12-23, 17:20:08
ich probiers eben mal aus =)... ma schaun obs geht.... (bin grad erst aufgestanden :))

//also funktionieren tuts =) thx ma......

hab noch paar weitere fragen, aber werd nu erst ma noch paar sachen einbinden und wenn ichs dann noch nich hab noch ma melden =)


<?php
include("./connect.php");
$abfrage = "SELECT * FROM movies";
$ergebnis = mysql_query($abfrage);
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td>titel<td>cds<td>language<td>codec<td>pic</tr>";
while($row = mysql_fetch_array($ergebnis))
{
echo "<tr>";
echo "<td width="65%" align="center">".$row["titel"];
echo "<td>".$row["cds"];
echo "<td>".$row["language"];
echo "<td>".$row["codec"];
echo "<td>". "<img src='".$row["pic"]."'width='120' height='166' >";
echo "</img>";
echo "</tr>";
}
echo "</table>";
?>

warum kann ich in der abfrage width und align nicht angeben ?! ohne das gehts, mit nicht mehr ?!

Nase
2003-12-23, 21:16:55
Original geschrieben von ca | Blade-IV
warum kann ich in der abfrage width und align nicht angeben ?! ohne das gehts, mit nicht mehr ?!
Weil du die ' durch \" ersetzen musst (oder die ' einfach weglassen, was aber nicht zu empfehlen ist). Dann funktionierts.


@ Liszca:
So nicht :down:.

ca | Blade-IV
2003-12-23, 21:18:09
Original geschrieben von Nase
Weil du die ' durch \" ersetzen musst (oder die ' einfach weglassen, was aber nicht zu empfehlen ist). Dann funktionierts.


@ Liszca:
So nicht :down:.

{
echo "<tr>";
echo "<td width="65%" align="center">".$row["titel"];
echo "<td>".$row["cds"];
echo "<td>".$row["language"];
echo "<td>".$row["codec"];
echo "<td>". "<img src='".$row["pic"]."'width='120' height='166' >";
echo "</img>";
echo "</tr>";
}

ne das mit den ' (bei img) funktioniert..... ich mein weiter oben mit der tabelle.... <td width="65%" align="center"> << ?!
echo "</table>";

also ich wollt sowas machen:

{
echo "<tr>";
echo "<td width="65%" align="center">".$row["titel"];
echo "<td width="5%" align="center">".$row["cds"];
echo "<td width="5%" align="center">".$row["language"];
echo "<td width="5%" align="center">".$row["codec"];
echo "<td width="20%" align="center">". "<img src='".$row["pic"]."'width='120' height='166' >";
echo "</img>";
echo "</tr>";
}
echo "</table>";
?>

damit die tabelle formatiert ausgegeben wird.....

hmmm ich hab grad ma alle " bei width und bei align in ' geändert nu gehts ?! grad anders wie du's oben veschrieben hast ?! *verwirrt bin*

ca | Blade-IV
2003-12-23, 21:39:03
thx nochmal an alle.... aber ich hab noch ein paar fragen ?! ;)

hmmm wie mach ich das er mir die zeilen immer abweschelnd in 2 farben hinterlegt ?! (eine zeile hmmm blau die nächste, hmmm ?! grau.... dann wieder blau, grau usw..)

Nase
2003-12-23, 21:53:39
Original geschrieben von ca | Blade-IV
thx nochmal an alle.... aber ich hab noch ein paar fragen ?! ;)

hmmm wie mach ich das er mir die zeilen immer abweschelnd in 2 farben hinterlegt ?! (eine zeile hmmm blau die nächste, hmmm ?! grau.... dann wieder blau, grau usw..)
Man könnte das so machen, dass eine Zahl mitläuft. Wenn diese z.B. 0 ist, wird eine blaue Zeile ausgegeben, im Falle 1 wird die Zeile grau.

$i = 0;

while (§row = mysql_fetch_array($anfrage)
{

if($i == 1)
echo '<tr bgcolor="#cccccc"><td>Text auf grauem Hintergrund</td></tr>';
else
{
echo '<tr bgcolor="#0000ff"><td>Text auf extrem blauem Hintergrund</td></tr>';
$i = 0;
}

$i++;
}

ca | Blade-IV
2003-12-23, 22:07:13
Original geschrieben von Nase
Man könnte das so machen, dass eine Zahl mitläuft. Wenn diese z.B. 0 ist, wird eine blaue Zeile ausgegeben, im Falle 1 wird die Zeile grau.

$i = 0;

while (§row = mysql_fetch_array($anfrage)
{

if($i == 1)
echo '<tr bgcolor="#cccccc"><td>Text auf grauem Hintergrund</td></tr>';
else
{
echo '<tr bgcolor="#0000ff"><td>Text auf extrem blauem Hintergrund</td></tr>';
$i = 0;
}

$i++;
}

uiuiui, langsam wird die sache etwas komplexer :) dacht ich mir aber schon das es nich immer so einfach bleibt =P... thx werds gleich ma probieren....

ca | Blade-IV
2003-12-24, 01:14:16
hmmm also das is ja nu meine abfrage ohne farben...

<?php

include("./connect.php");
$abfrage = "SELECT * FROM movies";
$ergebnis = mysql_query($abfrage);
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td>titel<td>cds<td>language<td>codec<td>pic</tr>";
while($row = mysql_fetch_array($ergebnis))
{
echo "<tr>";
echo "<td width='65%' align='center'>".$row["titel"];
echo "<td width='5%' align='center'>".$row["cds"];
echo "<td width='5%' align='center'>".$row["language"];
echo "<td width='5%' align='center'>".$row["codec"];
echo "<td width='20%' align='center'>". "<img src='".$row["pic"]."'width='120' height='166' >";
echo "</img>";
echo "</tr>";
}
echo "</table>";

?>

ich hab die nun schon auf verschiedene arten mit dem

$i = 0;


while (§row = mysql_fetch_array($anfrage)

{


if($i == 1)

echo '<tr bgcolor="#cccccc"><td>Text auf grauem Hintergrund</td></tr>';

else

{

echo '<tr bgcolor="#0000ff"><td>Text auf extrem blauem Hintergrund</td></tr>';

$i = 0;

}


$i++;

}

"gekreutzt" allerdings bekomm ich dann immer nen error meistens in der zeile in der das else steht ?!... könntest du mir nen bsp. machen wie ich die abfrage mit dem 2 ten kombinier.... (nur ein bsp für title z.B. denn rest müsste ich dann selbst hinbekommen....)

//gleich noch eine frage (wenn man wieder jemand zeit hat oder einfach lust mir bissel zu hlefen =P)

mit
....
$abfrage = "SELECT * FROM movies ORDER BY titel ASC";
....
gibt man den Daten Satz ja sortiert nach dem ABC aus.....

nun möchte ich 0-9 als überschrift... dann alle datensätze dazu, dann ein A dann alle Datensätze dazu usw..... (ich geb zu bissel blöd erklärt =P)

Nase
2003-12-24, 11:00:46
Moin,

<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="65%">Titel</td>
<td width="5%">CDs</td>
<td width="5%">Language</td>
<td width="5%">Codec</td>
</tr>

<?php

include("./connect.php");

$i = 0;
$anfrage = mysql_query("SELECT * FROM movies");
while($row = mysql_fetch_array($anfrage))
{

if($i == 1)
{
echo '<tr bgcolor="#cccccc" align="center"><td>' . $row[title] . '<td>' . $row[cds] . '<td>' . $row[language] . '<td>' . $row[codec] . '</tr>';
}
else
{
echo '<tr bgcolor="#224488" align="center"><td>' . $row[title] . '<td>' . $row[cds] . '<td>' . $row[language] . '<td>' . $row[codec] . '</tr>';
$i = 0;
}

$i++;

}

?>

</table>

Nase
2003-12-24, 12:04:35
Bzgl. deines Problems mit dem Ordnen nach Anfangsbuchstaben.

<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="65%">Titel</td>
<td width="5%">CDs</td>
<td width="5%">Language</td>
<td width="5%">Codec</td>
</tr>


<?php

include("./connect.php");

$i = 0;
$j = '';
$number_header = 0;
$anfrage = mysql_query("SELECT * FROM movies ORDER BY title");
while($row = mysql_fetch_array($anfrage))
{

$anf_buchst = strtoupper(substr($row[title], 0, 1));

if(strcasecmp($anf_buchst, 'A') >= 0) //Hier wird zwischen Zahl und Buchstabe unterschieden
{ //Wenn buchstabe
if ($anf_buchst != $j)
{
$j = $anf_buchst;
echo '<tr><td colspan="4"><b>' . $j . '</b></td></tr>';
$i = 0;
}
}
else
{
if ($number_header == 0)
{
echo '<tr><td colspan="4"><b>0-9</b></td></tr>';
$number_header = 1;
$i = 0;
}
}


if($i == 1)
echo '<tr bgcolor="#cccccc" align="center"><td>' . $row[title] . '<td>' . $row[cds] . '<td>' . $row[language] . '<td>' . $row[codec] . '</tr>';
else
{
echo '<tr bgcolor="#bbd1ff" align="center"><td>' . $row[title] . '<td>' . $row[cds] . '<td>' . $row[language] . '<td>' . $row[codec] . '</tr>';
$i = 0;
}

$i++;
}

?>

</table>

EDIT: Ok, so funktionierts. /EDIT.

ca | Blade-IV
2003-12-24, 14:27:55
danke =) werd ich gleich mal ausporbieren.....

thx, nochma für die mühe.... :)

Lunar_Gate
2003-12-26, 15:06:05
Original geschrieben von Nase
Und das soll was darstellen? Ich zähle direkt schon 10 Fehler. Und wirklich schön gelöst ist es auch nicht...

Bitte? Das ist die einfachste Variante für Heimanwendung! Und welche 10 Fehler siehst du denn bitte?

Dir ist bewusst, dass man die html-table-data-tags nicht schliessen muss, oder? Und zur besseren Lesbarkeit habe ich das hier auch unterlassen! Es funktioniert!

Nase
2003-12-26, 15:17:05
Ja, ich meinte die td-Tags. Fehler ist auch ein bisschen zu hart ausgedrückt, denn in der HTML 4.01 Spezifikation ist es durchaus kein Fehler, die Tags nicht zu schliessen. Trotzdem lautet die korrekte Syntax immer noch <td>...</td>. Vor allem wenn du mal den Schritt in Richtung XHTML machst, dann hast du hier alleine schon die ersten schwerwiegenden Fehler.

Lunar_Gate
2003-12-26, 21:17:18
Hmm......wofür steht das X bei XHTML eigentlich und was schreibt man in XHTML? Ich hab bis jetzt nur Flashähnliche Animationen gesehen!

Ich kenne die Syntax!;) Hab sie weggelassen und da wir eh bei php und html waren läuft die Variante!^^

Ansonsten würde ich immer die Tags schliessen (schon um die Lesbarkeit zu erhöhen)