Memberscript mit Squads?

vodka

Mitglied
Hallo also ich hab ein Memberscript einmal gemacht!Und jetzt will ich das ausbauen mit Squads also das man Squads adden kann!

Jetzt sieht das so aus:

member:
Code:
CREATE TABLE `members` (
  `id` int(11) NOT NULL auto_increment,
  `nickname` varchar(40) default NULL,
  `aufgabe` varchar(30) default NULL,
  `status` varchar(30) default NULL,
  `email` varchar(50) default NULL,
  `icq` varchar(30) default NULL,
  `favmap` varchar(30) default NULL,
  `favwaffe` varchar(50) default NULL,
  `age` varchar(20) default NULL,  
`bild` varchar(255) default NULL,
  `verbindung` varchar(50) default NULL,
PRIMARY KEY  (`id`,`id`)
);

squads:
Code:
CREATE TABLE `squads` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`squadtitel` VARCHAR( 60 ) NOT NULL ,
`squadname` VARCHAR( 60 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);


Also Squads eintragen geht ist kein problem!
Aber wie mach ich das jetzt das wen ich den Squadname eingebe wen ich ein Member eintragen das der Member dan auch in diesem Squad ist?

Beim eintragen von den Members hab ich es jetzt so gemacht:

PHP:
///Sonstiger Code


<select name="squadname" id="select14">
            <option>-------- Hier Ausw&auml;hlen ------------</option>
            
	 <?
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$query = "SELECT * FROM $tabellesquads";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$squadname=$r["squadname"];

echo "<option>$squadname</option>";
}
?>

 </select></td>
    </tr>
  </table>
  <input type="hidden" name="send" value="true">
  <div align="center"><br>
    <input type="submit" name="Submit" value="Eintragen">
  </div>
</form>
///hîer auch

Aber jetzt beim ausgeben weis ich nicht wie ich das machen muss!

Früher als ich noch manuel die Squads gemacht habe hab ichs immer so gemacht:

PHP:
<?php
// Verbindung mit der Datenbank erstellen //
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");


$query = "SELECT * FROM $tabellemembers WHERE squad = 'counterstrike' ORDER BY id";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$nickname=$r["nickname"];
$id=$r["id"];
$email=$r["email"];
$icq=$r["icq"];
$aufgabe=$r["aufgabe"];
$status=$r["status"];
$bild=$r["bild"];

if($status == "aktiv")
{
   $farbe = "#006600";
}
else
{
   $farbe = "#FF0000";
}


echo "<table width=595 border=0 cellpadding=0 cellspacing=1>
  <tr>
    <td colspan=5><div align=left>$nickname</div></td>
    <td width=110>$aufgabe</td>
    <td width=79><font color=$farbe>$status</font></td>
    <td width=85><a href='mailto:$email'>email</a></td>
    <td width=104><span lang='en-us'><span lang='en-us'><a href='http://wwp.mirabilis.com/scripts/Search.dll?to=$icq'>$icq</a></span></span></td>
    <td width=66><div align=right><a href='index.php?action=mdetails&id=$id'>details</a> </div></td>
  </tr>
</table>";
	    }

?>

Danke im vorraus!
 
Aber wie mach ich das jetzt das wen ich den Squadname eingebe wen ich ein Member eintragen das der Member dan auch in diesem Squad ist?

Entschuldigung aber ich verstehe nicht was du sagen willst .
Wenn du mir sagen kannst ,was du willst ,helfe ich dir gerne ;).

Wenn du den Squadnamen aller Member angezeigt bekommen willst sollte es so gehen :

Achja : http://www.dclp-faq.de/q/q-sql-select.html ,lies dir das mal durch :)
 
Zuletzt bearbeitet:
also da fehlt mal ein wichtiger ansatzpunkt:

1tens: gibt es member die mehreren Squads angehören?

wenn ja dann musst du eine zwischentable erstellen müssen, mit der Id des squads und der Id des members damit du weisst welcher member in welchem squad ist

wenn du das kategorisch ausschliessen kannst dann hau einfach ein feld squad in deine member table.

dazu musst du aber in deinen option feldern einen value hinzufügen da das script sonst nicht weiss was du da jetzt zugewiesen hast...

Code:
<select name="squadname" id="select14"> 
            <option>-------- Hier Ausw&auml;hlen ------------</option> 
             
     <? 
$db = mysql_connect($db_host, $db_user, $db_pass); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 

$query = "SELECT * FROM $tabellesquads"; 
$result = mysql_query($query); 
while($r=mysql_fetch_array($result)) 
{ 
$squadname=$r["squadname"]; 

echo "<option value=\"".$r['id']."\">$squadname</option>"; 
} 
?> 

</select>

damit solltest du jetzt nach dem post im array $_POST['squadname'] den wert haben.
Vorausgesetzt ist natürlich dass ein Squad ausgewählt wurde =))
 
Mach in die Squads Tabelle noch eine Spalte für die User des Squads, dort kannst du dann die ID's (oder die Namen) der Member speichern.
z.B. Spalte Users: 1#5#6#7
Das # dient als Trennzeichen.

Nun ein wenig Code:
PHP:
/* Ein DropDown generieren mit allen Membern, */
/* dann kann mittels STRG + Mausklick ausgewählt werden */

echo '<select size="6" name="member[]" multiple>';
$get = mysql_query("SELECT * FROM `member` ORDER BY 'nick' DESC");
while ($show = mysql_fetch_assoc($get)) echo '<option value="'.$show['ID'].'">'.$show['nick'].'</option>';
echo '</select>';

/* Und dann ein Code, der das ganze in die Form mit dem # bringt */

$member = $_POST['member']; // ein multidimensionaler Array
$members = ""; // hier kommt das 1#2#3 rein
for ($x="0";$x<sizeof($member);$x++) {
  if ($member[$x]!=0) $members.= $member[$x]."#";
}
$members = substr($members, 0, -1); // das überstehende letzte # entfernen
/* echo $members; würde dann so etwas ausgeben: 2#4#6
 
Zurück