Probleme bei einfügen in Datenbank

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Probleme bei einfügen in Datenbank

Postby TTP » 02. December 2003 14:14

Also ich bin dabei n Warscript zu bauen, aber da ich MySQL Neuling bin, bekomm ich das leider noch nicht ganz gebacken...

Hier mein Code

Code: Select all
<?      
      include("zugriff.inc.php");
      ?>
      <?
      $sql1="SELECT * FROM wares";
      $sql2="SELECT * FROM wares ORDER BY id DESC LIMIT 0, 8;";
      $result1=mysql_query($sql1);
      $result2=mysql_query($sql2);

$row=@mysql_fetch_assoc($result1); ?>
<table border="1" width="100%">
<?
echo("<tr><td>bulletz vs. " .$row[vs] . "</td></tr>");
?>
</table>
<table border="1" width="100%">
<?
echo("<tr><td width=\"130\">Ergebnis: " . $row[bulletz] . ":" . $row[gegner] . "</td>");
echo("<td width=\"130\">Map: " . $row[map] . "</td>");
echo("<td width=\"130\">Art: " . $row[art] . "</td></tr>");
?>
</table>

Ja und so schreibt er mir leider nur die erste von 8 tabellen die er schreiben soll, wie mach ich das das der mir die anderen 7 dadrunter fügt?

MFG TTP (danke für antwort:))


zur Übersicht: meine Datenbank hat die Spalten, id,datum,bulletz,gegner,vs,map,art

bulletz kommt das ergebnis der bulletz rein,
gegner das der gegner,
und vs. is nur der name des gegnerclans ;)
Last edited by TTP on 02. December 2003 21:05, edited 1 time in total.
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Merk dir die aktuelle Zahl

Postby guybrush82 » 02. December 2003 14:32

Ich hab wenig zeit, drum fass ich mich kurz:

führst eine Variable ein ($zaehler=0; oder so) die erhöhst du bei jedem durchlauf um eins ($zaehler++;)

beim (hier) 8. Durchlauf steht in $zaehler die Aktuelle position.

Beim nächsten Aufruf einer SQL Anweisung schreibst du einfach Statt

$sql2="SELECT * FROM wares ORDER BY id DESC LIMIT 0, 8;";

diese Zeile hin:

$sql2="SELECT * FROM wares ORDER BY id DESC LIMIT $zaehler, 8;";

dann fängt er an, bei der (hier) 8. Position anzufangen, die nächsten (hier) 8 Datensätze aus der db zu holen.

Hab ich dir Helfen können?

Tschau. Thomas
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 02. December 2003 15:13

irgendwie haste mir nicht sonderlich geholfen :lol: =(
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby guybrush82 » 02. December 2003 15:36

Hm.. Dann hab ich die frage wohl falsch verstanden... habs nochmal durchgelesen und ... hast recht.. *dumbinn* richtige antwort auf die falsche Frage...
Lange Rede, kurzer sinn...

Machs mit ner While Schleife!
Mit dieser hier gibst du alles aus, was geht:

Code: Select all
while ($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
print "\t<tr>\n";
foreach ($row as $spalten_wert)
{
print "\t\t<td>$spaltenl_wert</td>\n";
}
print "\t</tr>\n";
}


Willst du nur einzelne Spalten anzeigen, dann schreibe:

Code: Select all
while ($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
print "\t<tr>\n";
print "\t\t<td>Map:</td>\n";
print "\t\t<td>$row['map']</td>\n";
print "\t\t<td>Art:</td>\n";
print "\t\t<td>$row['art']</td>\n";
print "\t</tr>\n";
}


PS: Statt print kannste auch echo nehmen ;-)

Hats die jetzt geholfen? *g*
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 02. December 2003 17:25

danke aber ich habs nun doch so inetwa hin bekommen und ich finde meinen eigenen code übersichtlicher ^^

Code: Select all
      $abfrage = "SELECT * FROM wares ORDER BY id DESC";
        $ergebnis = mysql_query($abfrage);
        while($row = mysql_fetch_object($ergebnis))
       {
      echo("<table width=\"100%\" border=\"0\"><tr><td><b>bulletz vs.");
       echo $row->vs;
      $ergebnisb= $row->bulletz;
      $ergebnisg= $row->gegner;
      $arten= $row->art;
      $maps= $row->map;      
      
         if($ergebnisb<$ergebnisg) {
         $status="loose"; }
         else {
         $status="won"; }
      echo("&nbsp;&nbsp;<img src=\"design/" . $status . ".jpg\"</b></td></tr></table>");
      echo("<table width=\"100%\" border=\"0\"><tr><td width=\"110\"><h6>Ergebnis:&nbsp; $ergebnisb:$ergebnisg</h6></td>");
      echo("<td><h6>Map: $maps</h6></td>");
      echo("<td width=\"65\"><h6>Art: $arten</h6></td>");      


nur jetzt bekomm ich das nicht mehr hin das er mir nur 8 anzeigen soll, aber ma gucken, wenn ich das nicht schaffe meld ich mich nochmal ;)


danke für deinen unübersichtlichen code *g* und deine mühe
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby guybrush82 » 02. December 2003 18:02

Wenn du nur 8 Datensätze ausgeben willst kannst dus doch mit

$sql2="SELECT * FROM wares ORDER BY id DESC LIMIT 0, 8;";

beschränken... oder?
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 02. December 2003 18:04

achja lol..... boa ich programmier schon seit heut morgen um 10 uhr, vielleicht sollt ich malne Pause einschieben....


th-x!
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby TTP » 02. December 2003 20:57

hab n neues Problem und zwar mit dem Eintragen in die Datenbank

Code: Select all
// Eintrag der Daten
if (!empty($_POST["datum"]) && !empty($_POST["bulletz"]) && !empty($_POST["gegner"]) && !empty($_POST["vs"])) {
$sql="INSERT INTO wars " .
"VALUES ('', '$_POST[datum]', '$_POST[vs]', " .
"'$_POST[bulletz]', '$_POST[gegner]', '$_POST[map]', " .
"'$_POST[art]', '$_POST[bericht]')";
mysql_query($sql);


Ich versteh es nicht, die _POST stimmen alle und haben einen inhalt, aber irgendwie klappt es dennoch nicht *NEED HELP*



Falls es hilft, hier die ganze Datei:

Code: Select all
<?
$url="http://192.168.0.1";
?>
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="clan.css">
<TITLE>BuLlEzZ iN tHe HeAd</TITLE>

</HEAD>
<BODY>
<h1><font color="#D6D6D6">bulletz INTERN</font></h1>
<table width="100%" height="85%">
<tr><td width="100%" height="100%" align="center" valign="middle">
<?php
include("zugriff.inc.php");
//variablen
$datum=date("d.m.Y, H:i");
$heute=date("d.m.Y");
$pfad="safe/" . "$name" . ".list.ttp";
$dat="$url/clan/" . "$pfad" . "?user=$name&&$pw";
// Formularerzeugung:
?>
<?
if(file_exists($pfad))
{
include($dat);
}
else
{
$ok="Error 401 - Wrong User";
}
?>
<?
if ($ok=="k")
{
echo <<<FORMULAR
<h3><font color="#6F6F6F">Hi <i>{$_GET["name"]}</i>, nimm deinen Eintrag vor!</font></h3>
<form action="{$_SERVER['PHP_SELF']}" method="POST">
Map:
<select name="map" size="">
<option>de_dust</option>
<option>de_dust2</option>
<option>de_inferno</option>
<option>de_aztec</option>
<option>de_torn</option>
<option>de_cheatau</option>
<option>de_cbble</option>
<option>de_airstrip</option>
<option>de_storm</option>
<option>cs_office</option>
<option>cs_italy </option>
</select>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Art:
<select name="art" size="">
<option>1on1</option>
<option>2on2</option>
<option>3on3</option>
<option>4on4</option>
<option>5on5</option>
</select>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Datum: <input type="text" name="datum" value="$heute" size="7" maxlength="10"><br><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bulletz vs. <input type="text" name="vs" value="" size="7" maxlength="30">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ergebnis: <input type="text" name="bulletz" value="" size="1" maxlength="3">
 : <input type="text" name="gegner" value="" size="1" maxlength="3">
<br><br>
<textarea cols="65" rows="15" name="bericht">
</textarea><br>

<br>
<input type="submit" value="Eintragen!">
</form>
FORMULAR;
}

// Eintrag der Daten
if (!empty($_POST["datum"]) && !empty($_POST["bulletz"]) && !empty($_POST["gegner"]) && !empty($_POST["vs"])) {
$sql="INSERT INTO wars " .
"VALUES ('', '$_POST[datum]', '$_POST[vs]', " .
"'$_POST[bulletz]', '$_POST[gegner]', '$_POST[map]', " .
"'$_POST[art]', '$_POST[bericht]')";
mysql_query($sql);
echo "<br><h4>Der Eintrag wurde erfolgreich erstellt!</h4><br><br>";
echo "<h3>[ <a href=\"clan.php\">weiter...</a> ]</h3>";
echo "<br><br>datum: $_POST[datum] &nbsp;vs. $_POST[vs] &nbsp;$_POST[bulletz]:$_POST[gegner] &nbsp;Map: $_POST[map] &nbsp;Art: $_POST[art] &nbsp;Bericht:<br>$_POST[bericht]";
// Zugrifsslogging
$name=$_GET[name];
$fp=fopen("logs.txt", "a");
fwrite($fp, "Zeit: " . "$datum" . " " . " " . "User: " . "$_POST[Name]" . " " . " " . "War hinzugefügt\n");
fclose($fp);
}
?>
</td></tr></table>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:history.go(-1)">back</a>
</BODY>
</HTML>



und hier die Datenbank:

Code: Select all
Feld  Typ Attribute Null Standard Extra Aktion
   id  int(11)   Nein    auto_increment             
   datum  varchar(30)   Nein                 
   vs  varchar(30)   Nein                 
   bulletz  varchar(4)   Nein                 
   gegner  varchar(4)   Nein                 
   map  varchar(30)   Nein                 
   art  varchar(4)   Nein                 
   bericht  text   Ja  NULL               
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby guybrush82 » 02. December 2003 22:24

was mir als erstes aufgefallen ist, ist, dass du
mysql_query($sql);
Schreibst. Eigentlich sollte diese Funktion mindestens ein $result zurück geben...

um das beurteilen zu können bräuchte ich mal die Fehlermeldung, die dein webserver ausgibt.

Aber ich denk, ich kann erst morgen wieder antworten...

Gute nacht!
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 03. December 2003 17:09

das geile ist, er trägt gar nix ein *löl* und ich bekomm keine fehlermeldung zu sehen ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby guybrush82 » 03. December 2003 19:01

Habs mir eben nochmal angeschaut? könnts daran liegen, dass du
$sql="INSERT INTO wars " .
"VALUES ('', '$_POST[datum]', '$_POST[vs]', " .
"'$_POST[bulletz]', '$_POST[gegner]', '$_POST[map]', " .
"'$_POST[art]', '$_POST[bericht]')";
geschrieben hast?

schreib mal $POST['bericht'] -> Hochkommas!
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 03. December 2003 19:42

dan bekomm ich den fehlercode:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\htdocs\Startseite\clan\warsget.inc.php on line 79


78 "VALUES ('', '$_POST[datum]', '$_POST[vs]', " .
79 "'$_POST['bulletz']', '$_POST['gegner']', '$_POST['map']', " .
80 "'$_POST['art']', '$_POST['bericht']')";
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby guybrush82 » 03. December 2003 19:58

Du hast unter anderem bei datum und vs die hochkommas vergessen...
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby TTP » 03. December 2003 20:03

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\htdocs\Startseite\clan\warsget.inc.php on line 81


80 $sql="INSERT INTO wars" .
81 "VALUES ('', '$_POST['datum']', '$_POST['vs']', " .
82 "'$_POST['bulletz']', '$_POST['gegner']', '$_POST['map']', " .
83 "'$_POST['art']', '$_POST['bericht']')";
84 mysql_query($sql);
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby TTP » 03. December 2003 20:51

endlich geschafft!

Code: Select all
$sql = "INSERT INTO wares " .
        "VALUES ( '', '$_POST[datum]', 'vs', 'bull', 'gegn', 'map', '2on2', '')";
      
mysql_query($sql);


nun gehts prima ;) als 'vs' und 'bull' usw. müssen noch durch die variablen ausgetauscht werden.... ich weiß zwar nicht so ganz was da so viel anders ist als an meinem ersten code, aber nun gehts =P

nochmals th-x

(Rumprockeln lohnt)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 3 guests