PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auf der suche nach einer Lösung...


michi0209
20.02.2008, 14:25:49
Hallo zusammen,

vielleicht kann mir hier jemand weiterhelfen...

Ich versuche seid einiger Zeit eine "kleine" Spielervorstellung von unserer Mannschaft auf die Beine zu stellen.
Das ganze funkioniert mit PHP und SQL.... So weit so gut. ich habe ein Formular geschrieben, welches die jeweiligen Werte einließt und in der entsprechende DB abspeichert *juhu*

Nun, habe ich aber ein Problem, bei dem ich mich im Kreis drehe.
Wenn ich nun den Inhalt ausgebe, möchte ich, das zB. der Name des jeweiligen Spielers verlinkt wird und in einer "Grossansicht" separat angeschaut werden kann. Hierfür habe ich mir gedacht, die folgenden Zeilen Code benutzen zu können:
<td><a href='spieler_einzeln_gross.php?(".$fetched['ID'].", ".$var_Mannschaft.")'>".$fetched['Name']."</a></td>

In der spieler_einzeln_gross.php ist eine funktion enthalten, die dann wieder rum auf Basis der übergebenen ID sich den richtigen Eintrag aus der DB holt und diesen ausgibt.

Leider ruf der Link zwar die PHP Seite auf, aber ich weiß nicht, wie ich die "richtige" Funktion aufrufen kann... Das geht doch bestimmt irgendwie!!??


Hoffe das war jetzt nicht zu kompliziert erklärt und es kann jemand helfen :D

Gruß Michael

|Coding
20.02.2008, 15:10:08
Hi!

Du könntest so vorgehen:

<?PHP
// ...

print ( '<td><a href="spieler_einzeln_gross.php?id=' . $fetched['ID'] .
'&mannschaft=' . $var_Mannschaft . '">' . $fetched['Name'] . '</a></td>' );

// ...
?>

In der "spieler_einzeln_gross.php" kannst Du dann so auf die Werte zugreifen:

<?PHP
// ...
$spieler = htmlspecialchars ( $_GET['id'] );
$mannschaft = htmlspecialchars ( $_GET['mannschaft'] );

// Nur zur Veranschaulichung:
print ( 'Spieler-ID:' . $spieler . '<br>' . 'Mannschaft: ' . $mannschaft );
// ...
?>

Wenn Du die Variablen spieler und mannschaft in Deinem SQL-Statement nutzt, dann aber auf jedenfall mysql_real_escape_string auf beide anwenden.

<?PHP
// ...

$sql = 'SELECT
`dies`,
`und`,
`das`
FROM
`tabelle`
WHERE
`id` = ' . mysql_real_escape_string ( $spieler ) . '
AND
`mannschaft` = \'' . mysql_real_escape_string ( $mannschaft ) . '\'';

$res = mysql_query ( $sql ) or die ( 'Ein Fehler ist aufgetreten.' );

// ...
?>

michi0209
20.02.2008, 16:27:42
danke, werde es mal bei gleich mal ausprobieren....

Gibt es im Netz eigentlich irgenwo, Vorgaben, die so etwas beschreits machen!?!
Bestimmt, oder?! Aber ich kann trotz Google leider nichts finden!?


Irgendwelche Tips?! (außer natürlich selbst machen :D)


Danke Michael

|Coding
20.02.2008, 16:40:32
Hi!

Ähm... Vorgaben?
Könntest Du etwas genauer bescheiben "...Vorgaben, die so etwas beschreits machen..."?

michi0209
20.02.2008, 16:43:25
ja, keine ahnung... es gibt doch bestimmt schon fertige Vorlagen, oder Leute die so etwas bereits programmiert haben...

So ähnlich wie zB. Gästebücher ect.

|Coding
20.02.2008, 17:18:36
Hi!

Sicher gibt es sowas schon, bzw. sowas in der Art. Jedoch weis gerade niemand, was genau Du brauchst, was also alles möglich sein muss, welche Daten angezeigt werden sollen ect.

Beschreib das doch mal kurz, vielleicht bin ich oder jemand anders schon Mal über sowas gestolpert.

michi0209
20.02.2008, 18:42:49
Im Prinzip brauche ich so etwas, das man auf fast alles Homepages von Basketballern ect. findet.
Eine Formular, das zum einem Spielerinfos wie: Grösse, Gewicht, Vereinsbeitritt, Postion, Trikonummer ect. in eine SQL Datenbank speichert (das hätte ich ja schon!)...

und dann eben den zweiten Part, der zu einem alle Spieler auflistet mit einer Kurzbeschreibung. Klickt man nun auf einen Spieler, werden die kompletten Infos angezeigt.

Idealerweise sollte das ganze natürlich für mehrere Mannschaften funktionieren, da ein Verein ja auch immer mehr als nur eine Mannschaft hat...

|Coding
20.02.2008, 18:52:36
Ich denke Mal bei so einem kleinen Script macht es durchaus sinn, wenn man es eben selbst schreibt, denn bist Du da was passendes gefunden und an Deine Bedürfnisse angepasst hast, dauert es auch seine Zeit. Ganz neben bei lernt man auch noch was :-)

Welche funktionen fehlen Deinem Script denn noch?

michi0209
20.02.2008, 21:38:38
Hi,

nun was noch nicht so ganz tut ist die Tatsache das ich nicht genau weiß, wie ich zB. wenn ich in der "Einzelansicht" bin, zum nächsten Spieler springen kann. Das problem ist, das ich zwar die ID des aktuell angezeigten Spielers habe, aber die nicht zwingend mit der logischen der DB gleich sein muß. Soll heißen:


ID 2 wurde gelöscht, weil zB Spieler nicht mehr im Team... also sieht mein SQL DB so aus:

ID Name Bild-Link
1 Michael /Pics/Michael.jpg
3 Daniel /Pics/Daniel.jpg
4 Sascha /Pics/Sascha.jpg


Mir fehlt halt noch, der weiter und zurück Link... Wenn ich beispielsweise beim ersten Spieler der Mannschaft bin, dann soll natürlich auch kein "<<"-link angezeigt werden, sondern nur der ">>"-link und genaus das gleiche, wenn ich beim letzten Spieler angekommen bin... Ich weiß noch nicht genau, wie ich das mit dem weitergeben der ID...

Hoffentlich verstehst du das?!

Mir ist gerade noch die Idee gekommen, die DB (in meinem Fall sind es 4 Stück ) alle in eine zu machen und eine zustätzlich Spalte zu ergänzen, mit der Mannschaft, und nach dieser dann zu Filtern, das ist vermutlich Sinnvoller und einfacher in der Ausführung... ich werde heute mal ne Nacht drüber schlafen und morgen damit weitermachen...

Danke für jeden Tip

Michael

|Coding
21.02.2008, 00:20:42
Hi!

Die vorherige Datensatz-ID kannst Du mit "... WHERE `id` < $fetched['ID'] ..." herausfinden, die nächste logischerweise mit "... WHERE `id`> $fetched['ID'] ...".

michi0209
21.02.2008, 10:45:39
Hi,


weltklasse... das tut ja schon mal richtig gut!!! Gibt es jetzt eigentich noch eine Möglichkeit, die ID (auto_increment) neu zu vergeben. Hintergrund ist folgender...

Wenn ich einen Spieler lösche, dann entsteht eine Lücke die dann mit dem System, das du mir gezeigt hast irgendwie nicht ganz harmoniert... Deshalb würde ich einfach versuchen die iD in eine neue Reihenfolge zu bringen.