Spieler-Modul

Gesperrt
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Spieler-Modul

Beitrag von NobodyBody »

Hallo,

ich versuche gerade ein Spieler-Modul zu erstellen.

Ich brauche also fuer jeden Spieler ein Feld mit z.B:
Name, Position, ...

Da fuer eine Mannschaft theoretisch unendlich viele Spieler
vorhanden sein koennen, hab ich das Problem, wie ich die Variablen im
Input-Bereich verwalte.

Es muss auch die moeglichkeit bestehen, einen Spieler zu loeschen, neue
anzulegen, zu aendern ...

Ich habe mir dazu auch schon den Eventkalender von snoopy angeschaut,
der ja in etwa so einene Eingabemaske liefert.

Aber ich brauche das als Modul. :?

Ich hoffe, es kann mir dabei jemand helfen. :wink:

Gruss
NobodyBody
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi »

ich habe mir ein eigenes Modul geschrieben, dass genau das selbe macht.

Dazu habe ich eine eigene Tabelle namens "tsv_spieler" erstellt und da sind dann halt alle Daten drin. Bei dem Modul habe ich dann einfach per Select die Daten aus der Tabelle geholt und in der HTML-Tabelle dargestellt. Dabei wird die "IDspieler", die in der Tabelle "tsv_spieler" vorhanden ist, mit übergeben und kommt dann mit in einen Link. also so ungefähr: front_content.php?idcat=XY&IDspieler=XY
Wenn dann einer auf den Link von einem Spieler klickt, kommt man zu einer Informations-Seite von dem Spieler. Da habe ich dann verschiedene Infos drin, wie zb:
- Position
- Rechts-oder Linksfuss (hab ich noch nicht, wäre aber kein Problem)
- Bild
- Erfolge + <-- mit welcher mannschaft und in welcher Saison
- Spiele, Tore, Karten + <-- in welchem Spiel usw.
- Spieler-eigene Bildergalerie + Möglichkeit für Besucher Bilder upzuloaden
- Die Bilder müssen dann vom Admin freigeschaltet werden

Ups, jetzt bin ich etwas vom Thema abgekommen...
Also das Modul für die Anzeige der Mannschaft hat keinen Input, aber dafür kann man das von der Homepage aus verwalten, wenn man sich im Frontent entsprechend eingeloggt hat.
Und sonst werden die Spieler nach Position sortiert:
Trainer
Abwehr
Mittelfeld
Angriff

Dabei wird dann auch das Geburtsdatum von jedem Spieler mit ausgegeben.

.....So ich hoffe, das kann dir helfen. Den Output poste ich dir, wenn das das Richtige für dich ist. Weil ich muss das dann noch ein bischen für dich umschreiben. Weiß aber nicht, ob ich das bis zum Wochenende schaffe.
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Hey alpi,

das ist eigentlich genau das was ich suche. :wink:

Besteht die moeglichkeit es so abzuaendern, dass man
die Spieler pro Mannschaft auch im Frontend ( beim Artikel )
festlegt. :?:

Ansonsten waere es nett, wenn du es mir schicken wuerdest.

mfg
NobodyBody :wink:
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi »

NobodyBody hat geschrieben: Besteht die moeglichkeit es so abzuaendern, dass man
die Spieler pro Mannschaft auch im Frontend ( beim Artikel )
festlegt. :?:

Ansonsten waere es nett, wenn du es mir schicken wuerdest.

mfg
NobodyBody :wink:
Du willst also, dass man die Spieler im Frontend ändern und verwalten kann? Das habe ich auch gelöst, aber das ganze besteht aus mehreren Modulen, die dann in verschiedene Artikel kommen.
Das heißt zb:

Code: Alles auswählen

front_content.php?idcat=53
   --> Anzeige der Mannschaft (für alle zugänglich)
front_content.php?idcat=53&idart=86
   -->Admin-Seite zum ändern, löschen, hinzufügen (nur für Admin oder Moderatoren oder so)
Hier hast du schon mal mein Modul für die Anzeige der Spieler:

Beschreibung: Gibt die Spieler der gewählten Mannschaft aus

Input: leer

Output:

Code: Alles auswählen

<?
$db = new DB_Contenido;

$tsv = "tsv";     // <-- muss geändert werden: Tabellen-Prefix
$mannschaft = "TSV Tudorf I";     // <-- muss geändert werden: Mannschaft


//###############################################################

echo "
<table border="0" width="100%">
  <tr>
    <td style="background-color: #687687;" width="100%" colspan="2"><font color="#FFFFFF"><b>Der Kader 2004/2005&nbsp;</b></font></td>
  </tr>
       ";
//################# Trainer ##################

echo "
  <tr>
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%">Trainer</td>
          <td width="20%">geboren</td>
        </tr>
      </table>
    </td>
  </tr>
       ";


    $sql10 = "SELECT
                        A.IDspieler,
                        A.vorname,
                        A.nachname,
                        A.geburtsdatum,
                        C.position
                    FROM
                        $tsv"._spieler." AS A,
                        $tsv"._vereine_m." AS B,
                        $tsv"._positionen." AS C
                    WHERE
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Trainer' OR
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Co-Trainer'
               "; 

     $db->query($sql10);
$i=1;
while ($db->next_record())
{
$IDspieler = $db->f("IDspieler");
$vorname = $db->f("vorname");
$nachname = $db->f("nachname");
$name = "$vorname $nachname";
$position = $db->f("position");
$geb = date("d.m.Y",strtotime($db->f("geburtsdatum")));


if(($i % 2) == 1)
{
echo "
 <tr>
        ";   //echo zu ende
}

if(($i % 2) == 0) 
{
echo "
<tr bgcolor="#EOEOEO">
        "; //echo zu ende
}   


echo "
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%"><a href="?idcat=$idcat&idart=98&IDspieler=$IDspieler">$name</a></td>
          <td width="20%">$geb</td>
        </tr>
      </table>
    </td>
  </tr>
          ";


++$i;
}    //while zu ende


//################# Torwart ##################

echo "
  <tr>
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%">Torwart</td>
          <td width="20%">geboren</td>
        </tr>
      </table>
    </td>
  </tr>
       ";


    $sql10 = "SELECT
                        A.IDspieler,
                        A.vorname,
                        A.nachname,
                        A.geburtsdatum,
                        C.position
                    FROM
                        $tsv"._spieler." AS A,
                        $tsv"._vereine_m." AS B,
                        $tsv"._positionen." AS C
                    WHERE
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Torwart'
               "; 

     $db->query($sql10);
$i=1;
while ($db->next_record())
{
$IDspieler = $db->f("IDspieler");
$vorname = $db->f("vorname");
$nachname = $db->f("nachname");
$name = "$vorname $nachname";
$position = $db->f("position");
$geb = date("d.m.Y",strtotime($db->f("geburtsdatum")));



if(($i % 2) == 1)
{
echo "
 <tr>
        ";   //echo zu ende
}

if(($i % 2) == 0) 
{
echo "
<tr bgcolor="#EOEOEO">
        "; //echo zu ende
}   


echo "
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%"><a href="?idcat=$idcat&idart=98&IDspieler=$IDspieler">$name</a></td>
          <td width="20%">$geb</td>
        </tr>
      </table>
    </td>
  </tr>
          ";


++$i;
}    //while zu ende



//############## Abwehr #########################

echo "
  <tr>
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%">Abwehr</td>
          <td width="20%">geboren</td>
        </tr>
      </table>
    </td>
  </tr>
       ";

    $sql10 = "SELECT
                        A.IDspieler,
                        A.vorname,
                        A.nachname,
                        A.geburtsdatum,
                        C.position
                    FROM
                        $tsv"._spieler." AS A,
                        $tsv"._vereine_m." AS B,
                        $tsv"._positionen." AS C
                    WHERE
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Abwehr'
               "; 

     $db->query($sql10);
$i=1;
while ($db->next_record())
{
$IDspieler = $db->f("IDspieler");
$vorname = $db->f("vorname");
$nachname = $db->f("nachname");
$name = "$vorname $nachname";
$position = $db->f("position");
$geb = date("d.m.Y",strtotime($db->f("geburtsdatum")));


if(($i % 2) == 1)
{
echo "
 <tr>
        ";   //echo zu ende
}

if(($i % 2) == 0) 
{
echo "
<tr bgcolor="#EOEOEO">
        "; //echo zu ende
}   


echo "
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%"><a href="?idcat=$idcat&idart=98&IDspieler=$IDspieler">$name</a></td>
          <td width="20%">$geb</td>
        </tr>
      </table>
    </td>
  </tr>
          ";


++$i;
}    //while zu ende



//########### Mittelfeld ###########################

echo "
  <tr>
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%">Mittelfeld</td>
          <td width="20%">geboren</td>
        </tr>
      </table>
    </td>
  </tr>
       ";

    $sql10 = "SELECT
                        A.IDspieler,
                        A.vorname,
                        A.nachname,
                        A.geburtsdatum,
                        C.position
                    FROM
                        $tsv"._spieler." AS A,
                        $tsv"._vereine_m." AS B,
                        $tsv"._positionen." AS C
                    WHERE
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Mittelfeld'
               "; 

     $db->query($sql10);
$i=1;
while ($db->next_record())
{
$IDspieler = $db->f("IDspieler");
$vorname = $db->f("vorname");
$nachname = $db->f("nachname");
$name = "$vorname $nachname";
$position = $db->f("position");
$geb = date("d.m.Y",strtotime($db->f("geburtsdatum")));


if(($i % 2) == 1)
{
echo "
 <tr>
        ";   //echo zu ende
}

if(($i % 2) == 0) 
{
echo "
<tr bgcolor="#EOEOEO">
        "; //echo zu ende
}   


echo "
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%"><a href="?idcat=$idcat&idart=98&IDspieler=$IDspieler">$name</a></td>
          <td width="20%">$geb</td>
        </tr>
      </table>
    </td>
  </tr>
          ";


++$i;
}    //while zu ende



//################# Angriff #############################

echo "
  <tr>
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%">Angriff</td>
          <td width="20%">geboren</td>
        </tr>
      </table>
    </td>
  </tr>
       ";

    $sql10 = "SELECT
                        A.IDspieler,
                        A.vorname,
                        A.nachname,
                        A.geburtsdatum,
                        C.position
                    FROM
                        $tsv"._spieler." AS A,
                        $tsv"._vereine_m." AS B,
                        ".tsv_positionen." AS C
                    WHERE
                        B.IDvereine_m = A.IDvereine_m AND
                        B.verein = '$mannschaft' AND
                        C.IDpositionen = A.IDpositionen AND
                        C.position = 'Angriff'
               "; 

     $db->query($sql10);
$i=1;
while ($db->next_record())
{
$IDspieler = $db->f("IDspieler");
$vorname = $db->f("vorname");
$nachname = $db->f("nachname");
$name = "$vorname $nachname";
$position = $db->f("position");
$geb = date("d.m.Y",strtotime($db->f("geburtsdatum")));


if(($i % 2) == 1)
{
echo "
 <tr>
        ";   //echo zu ende
}

if(($i % 2) == 0) 
{
echo "
<tr bgcolor="#EOEOEO">
        "; //echo zu ende
}   


echo "
    <td width="100%" colspan="2">
      <table border="0" width="100%">
        <tr>
          <td width="80%"><a href="?idcat=$idcat&idart=98&IDspieler=$IDspieler">$name</a></td>
          <td width="20%">$geb</td>
        </tr>
      </table>
    </td>
  </tr>
          ";


++$i;
}    //while zu ende

//##########################################
echo "
</table>
";

?>
such am besten mal nach "idart" in dem Code und änder das dann auf irgendwas. Und oben im Code musst du noch den Tabellenprefix ändern. Ich habe "tsv" genommen, weil mein Verein "TSV Tudorf" heißt. Weil das bei mir in der selben DB wie auch Contenido ist, bleibt das übersichtlicher.
Die Mannschaft musst du auch noch ändern.

Dann solltest du noch einige Dumps einfügen. Am besten mit phpmyadmin
Wenn du den Tabellen-prefix ändern möchtest, musst du das in den einzelnen Dumps hinter "CREATE TABLE" machen.

Tabelle "tsv_spieler":

Code: Alles auswählen

CREATE TABLE `tsv_spieler` (
  `IDspieler` int(255) NOT NULL auto_increment,
  `IDvereine_m` int(255) NOT NULL default '0',
  `IDpositionen` int(255) NOT NULL default '0',
  `vorname` varchar(255) NOT NULL default '',
  `nachname` varchar(255) NOT NULL default '',
  `geburtsdatum` date NOT NULL default '0000-00-00',
  `strasse` varchar(255) NOT NULL default '',
  `plz` varchar(255) NOT NULL default '',
  `wohnort` varchar(255) NOT NULL default '',
  `telefon` varchar(255) NOT NULL default '',
  `mobiltelefon` varchar(255) NOT NULL default '',
  `bild` varchar(255) NOT NULL default '',
  `lieblinksverein` varchar(255) NOT NULL default '',
  `fuss` varchar(10) NOT NULL default '',
  PRIMARY KEY  (`IDspieler`)
) TYPE=MyISAM AUTO_INCREMENT=14 ;

Tabelle "tsv_vereine_m":

Code: Alles auswählen

CREATE TABLE `tsv_vereine_m` (
  `IDvereine_m` int(10) NOT NULL auto_increment,
  `verein` varchar(255) NOT NULL default '',
  `kurz` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`IDvereine_m`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

Tabelle "tsv_positionen":

Code: Alles auswählen

CREATE TABLE `tsv_positionen` (
  `IDpositionen` int(10) NOT NULL auto_increment,
  `position` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`IDpositionen`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;
Inhalt für "tsv_positionen":

Code: Alles auswählen

INSERT INTO `tsv_positionen` (`IDpositionen`, `position`) VALUES (1, 'Torwart'),
(2, 'Abwehr'),
(3, 'Mittelfeld'),
(4, 'Angriff'),
(5, 'Trainer'),
(6, 'Co-Trainer');
Du kannst die Positionen natürlich verändern, oder neue hinzufügen.
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Danke alpi, :P

werd's dann mal einbauen und testen :wink:

Gruß
Gesperrt