Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] - » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen -
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Startpost-Retter
Mitglied


Dabei seit: 24.01.2011
Beiträge: 12.246
Herkunft: Gegen Bilderklau, intern

- Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

-

__________________
Dieser Beitrag gehörte zu einer Löschaktion von Beiträgen eines Users, er wurde diesem User überschrieben, damit der Thread nicht an Sinn verliert.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von -Kathi-: 25.01.2011 15:53.

17.10.2010 16:06 Startpost-Retter ist offline Beiträge von Startpost-Retter suchen Nehmen Sie Startpost-Retter in Ihre Freundesliste auf
+Debbie+
Schon immer +Debbie+


images/avatars/avatar-54324.jpg

Dabei seit: 26.08.2006
Beiträge: 5.874
Herkunft: Hamburg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was trägst Du bei ID und was bei pferdid?
Die ID wird immer nur einmal vergeben, das heißt Du kannst nicht in zwei Zeilen die selbe ID haben Augenzwinkern

Edit: Lass das Feld ID weg und trage bei pferdeid die ID des Pferdes ein und dann in der ausgabe halt "SELECT * FROM erfolge where pferdeid ='$id'"

__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von +Debbie+: 17.10.2010 16:47.

17.10.2010 16:43 +Debbie+ ist offline E-Mail an +Debbie+ senden Homepage von +Debbie+ Beiträge von +Debbie+ suchen Nehmen Sie +Debbie+ in Ihre Freundesliste auf
Julia712 Julia712 ist weiblich
Mitglied


images/avatars/avatar-48505.png

Dabei seit: 28.11.2006
Beiträge: 2.262

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Mutzelchen
Bei der ID musst du nichts eintragen lassen - einfach leer lassen & es wird automatisch generiert.


Genau Freude
Du hast in der Datenbank bei ID "auto increment" angegeben, weshalb die datenbank automatisch hochzählt. Jeder neue Eintrag wird automatisch mit einer fortlaufenden Nummer versehen und da brauchst du gar nichts dran zu ändern und lässt es einfach weg -als wäre das Feld gar nicht da^^
Jede ID darf -da hier jede Zahl exakt einmal vorkommt (bzw. gar nicht mehr, wenn man einen Eintrag löscht)- nicht doppelt vorkommen (Primary Key). Das Problem hast du bei deinem Update nun. Es gibt einen Eintrag mit der ID "1" und nun versuchst du einen weiteren Eintrag mit dieser ID zu machen. Das geht natürlich nicht und deshalb bekommst du die Fehlermeldung "#1062 - Duplicate entry '1' for key 'PRIMARY' ", die besagt, dass es einen doppelten Eintrag "1" in der Spalte gibt, die mit dem Primärschlüssel versehen ist.

Wie Mutzelchen also sagte, lass die Spalte beim Eintragen einfach weg (sowohl den Spaltennamen als auch den Inhalt) und dann wird es funktionieren smile
17.10.2010 20:10 Julia712 ist offline Beiträge von Julia712 suchen Nehmen Sie Julia712 in Ihre Freundesliste auf
Oli
Server-Administrator


Dabei seit: 13.06.2010
Beiträge: 1.540

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Julia712
Jede ID darf -da hier jede Zahl exakt einmal vorkommt (bzw. gar nicht mehr, wenn man einen Eintrag löscht)- nicht doppelt vorkommen (Primary Key).


An dieser Stelle zu deiner Klammer: Der Wert darf auch nach dem Löschen wieder angelegt werden. Lediglich der auto_increment zählt weiter und füllt die Lücke nicht mehr. Es würde aber problemlos funktionieren, wenn man die Zahl bei einem INSERT einfügt. Doppelt vorkommen darf sie bei einem PRIMARY KEY aber so oder so nicht.

EDIT: [u] und [/b] war wohl nix großes Grinsen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Oli: 17.10.2010 20:21.

17.10.2010 20:20 Oli ist offline Beiträge von Oli suchen Nehmen Sie Oli in Ihre Freundesliste auf
kext kext ist männlich
»Ich bin ein HAL 9000 Supercomputer.«


images/avatars/avatar-51950.png

Dabei seit: 28.11.2008
Beiträge: 119
Herkunft: Planet Erde

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du bekommst immer nur einen Erfolg, weil du immer nur den Ersten Erfolg aus dem Ergebnissatz ausliest.

Um alle Erfolge zu erhalten musst du nach diesem Muster arbeiten:

php:
1:
2:
3:
4:
while ($Data mysql_fetch_array($Ergebnis))
{
    // Hier mit $Data arbeiten
}


Abgesehen davon sind deine Zuweisungen so zwar teilweise möglich aber niemals empfehlenswert. Gewöhne dir am besten von Anfang an eine vernünftige Syntax an.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
// FALSCH
$id "$_GET[id]";
$name '$Data[name]';
echo '<td class="hell">'.$Data[prufung].'</td>';

// RICHTIG
$id $_GET["id"];
$name $Data["name"];
echo '<td class="hell">'.$Data["prufung"].'</td>';


__________________

18.10.2010 12:31 kext ist offline E-Mail an kext senden Beiträge von kext suchen Nehmen Sie kext in Ihre Freundesliste auf
+Debbie+
Schon immer +Debbie+


images/avatars/avatar-54324.jpg

Dabei seit: 26.08.2006
Beiträge: 5.874
Herkunft: Hamburg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kann das sein das du mal was gelöscht hast in der Tabelle, also den Eintrag mit der ID 1 & 2? Dann wird nämlich trotzdem einfach weiter gezählt Augenzwinkern

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
else {
// Sonst zeige an .. 
        while($Data mysql_fetch_array($Ergebnis)) {
         echo '<h2 class="h2">'.$Data["name"].'</h2>
<hr class="linie"><br>
<table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="text-align: center; font-weight: bold;"
 class="dunkel">Pr&uuml;fung</td>
      <td style="text-align: center; font-weight: bold;"
 class="dunkel">Platz</td>
      <td style="text-align: center; font-weight: bold;"
 class="dunkel">Preis</td>
      <td style="text-align: center; font-weight: bold;"
 class="dunkel">Stall</td>
    </tr>
    <tr>
      <td class="hell">'.$Data["prufung"].'</td>
      <td class="hell">'.$Data["platz"].'</td>
      <td class="hell">'.$Data["preis"].'</td>
      <td class="hell">'.$Data["stall"].'</td>
    </tr>
  </tbody>
</table>
';
    }
}


__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von +Debbie+: 18.10.2010 12:54.

18.10.2010 12:53 +Debbie+ ist offline E-Mail an +Debbie+ senden Homepage von +Debbie+ Beiträge von +Debbie+ suchen Nehmen Sie +Debbie+ in Ihre Freundesliste auf
kext kext ist männlich
»Ich bin ein HAL 9000 Supercomputer.«


images/avatars/avatar-51950.png

Dabei seit: 28.11.2008
Beiträge: 119
Herkunft: Planet Erde

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Erfolge.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
<!DOCTYPE html>
<html>
<head>
  <title>Landgut Schwaan | vom Rv Buchenhain</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body style="background-color: rgb(218, 202, 167);">
<br>
<script type="text/javascript" src="wz_tooltip.js"></script>
<?php
include("Datenbank.php");

$id $_GET["id"];

$Ergebnis mysql_query("SELECT * FROM erfolge where pferdid ='".intval($id)."'");

if (@mysql_num_rows($Ergebnis) == 0)
{
    echo "Dieses Pferd hat noch keine Erfolge!";
}
else
{
    echo '<table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
    <tbody>
    <tr>
      <td style="text-align: center; font-weight: bold;" class="dunkel">Pr&uuml;fung</td>
      <td style="text-align: center; font-weight: bold;" class="dunkel">Platz</td>
      <td style="text-align: center; font-weight: bold;" class="dunkel">Preis</td>
      <td style="text-align: center; font-weight: bold;" class="dunkel">Stall</td>
    </tr>';
    while ($Data mysql_fetch_array($Ergebnis))
    {
        echo '<tr>
          <td class="hell">'.$Data["prufung"].'</td>
          <td class="hell">'.$Data["platz"].'</td>
          <td class="hell">'.$Data["preis"].'</td>
          <td class="hell">'.$Data["stall"].'</td>
        </tr>';
    }
    echo '</tbody>
    </table>';
}
?>
</body>
</html>


__________________

18.10.2010 13:42 kext ist offline E-Mail an kext senden Beiträge von kext suchen Nehmen Sie kext in Ihre Freundesliste auf
kext kext ist männlich
»Ich bin ein HAL 9000 Supercomputer.«


images/avatars/avatar-51950.png

Dabei seit: 28.11.2008
Beiträge: 119
Herkunft: Planet Erde

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

  • Überflüssigen Leerraum entfernt und die Zeilen eingerückt um den Code lesbarer zu gestalten.
  • Die Titelzeile der Tabelle war vor dem <body>-Tag
  • Du hast die Tabelle bereits nach der ersten Zeile wieder geschlossen
  • else war verschwunden
  • Die Query per intval() abgesichert

Ich möchte dir dringend ans Herz legen, dir einen Texteditor mit Syntax-Highlighting zuzulegen (z.B. Notepad++). Das erleichtert es extrem beispielsweise Syntaxfehler sofort zu erkennen und die Programmstrukturen besser zu überblicken. Außerdem wird das Einrücken von Code erleichtert und man kann – im Gegensatz zu notepad – Unix-Zeilenumbrüche und UTF-8 verwenden.

Um dir den Programmablauf besser vorstellen zu können, empfiehlt es sich, zunächst eine Skizze auf Papier anzufertigen, auf der alle Abläufe abgebildet sind.
Zitat:
Tabelle öffnen -> Titelzeile einfügen -> solange Daten vorhanden sind: Datenzeile einfügen -> Tabelle schließen


EDIT: In der Datei Datenbank.php steht Mist drin. Schmeiß mal die echos da raus.

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von kext: 18.10.2010 14:12.

18.10.2010 13:59 kext ist offline E-Mail an kext senden Beiträge von kext suchen Nehmen Sie kext in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] -

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH