Začetne postave ekip (php,mysql)
 
Headpetrol 25. feb 2014 20:25:06 Pridružen od:
25. feb 2014
2 objav
0 0 0
#1

Pozdravljeni,



se učim programiranja s php, mysql in css in sem naletel na eno težavo, ki bi

nekdo lahko pomagal z nasveti. Želim narediti takšno taktično postavitev posmezne tekme, ampak mi nikakor ne uspe.

Zastavil sem si tako, da sem ustvaril MySQL tabeli in sicer formations in players. Formations je sestavljen iz naslednjih polj gameid(int), team(int),playerid(int), starting(tinyint),pos(enum(vse pozicije so v query-ju) in substitute(tinyint) in tabela players pa playerid(int), name(varchar), lastname(varchar).



Tukaj je sicer moj poskus:

/* PHP */

$homeformation = mysql_query("SELECT * FROM formations

JOIN players ply on ply.playersid = formations.playerid WHERE formations.team = '1'

AND formations.gameid = '1' AND formations.starting = '1'

ORDER BY case pos WHEN 'GK' THEN 1 WHEN 'DR' THEN 2 WHEN 'DRC' THEN 3 WHEN 'DC' THEN 4

WHEN 'DLC' THEN 5 WHEN 'DL' THEN 6 WHEN 'DMR' THEN 8 WHEN 'DMRC' THEN 9 WHEN 'DMC' THEN

10 WHEN 'DMLC' THEN 11 WHEN 'DML' THEN 12 WHEN 'MR' THEN 13 WHEN 'MRC' THEN 14 WHEN

'MC' THEN 15 WHEN 'MLC' THEN 16 WHEN 'ML' THEN 17 WHEN 'AMR' THEN 18 WHEN 'AMRC' THEN

19 WHEN 'AMC' THEN 20 WHEN 'AMLC' THEN 21 WHEN 'AML' THEN 22 WHEN 'FR' THEN 23 WHEN

'FRC' THEN 24 WHEN 'FC' THEN 25 WHEN 'FLC' THEN 26 WHEN 'FL' THEN 27 ELSE 28 END ");



echo '<div id=pitch>';

while ($ht = mysqlfetcharray($homeformation)) { ?>

<div id="GK">

<ul><?php if ($ht['pos'] === 'GK') {

echo '<li>'.$ht['lastname'].'</li>'; } ?></ul></div>



<div id="DEF"><?php if ($ht['pos'] === 'DR' || $ht['pos'] === 'DRC'|| $ht['pos'] ===

'DC'|| $ht['pos'] === 'DLC'|| $ht['pos'] === 'DL') {

echo'<ul><li>'.$ht['lastname'].'</li></ul>'; } ?>

</div>

<div id="DM"><?php if ($ht['pos'] === 'DMR' || $ht['pos'] === 'DMRC'|| $ht['pos']

=== 'DMC'|| $ht['pos'] === 'DMLC'|| $ht['pos'] === 'DML'){

echo '<ul> <li>'.$ht['lastname'].'</li></ul>'; } ?></div>



<div id="MID"><?php if ($ht['pos'] === 'MR' || $ht['pos'] === 'MRC'|| $ht['pos'] ===

'MC'|| $ht['pos'] === 'MLC'|| $ht['pos'] === 'ML') {

echo '<ul><li>'.$ht['lastname'].'</li></ul>'; } ?></div>


<div id="AM"><?php if ($ht['pos'] === 'AMR' || $ht['pos'] === 'AMRC'|| $ht['pos']
=== 'AMC'|| $ht['pos'] === 'AMLC'|| $ht['pos'] === 'AML') {

echo '<ul><li>'.$ht['lastname'].'</li></ul>'; } ?></div>



<div id="STR"><?php if ($ht['pos'] === 'FR' || $ht['pos'] === 'FRC'|| $ht['pos'] ===

'FC'|| $ht['pos'] === 'FLC'|| $ht['pos'] === 'FL') {

echo '<ul><li>'.$ht['lastname'].'</li></ul>'; } ?>

</div>


/* CSS */
#pitch{ border: 1px solid #333; width: 500px height: 300px;}
.GK ul {list-style-type:none; margin:0; padding:0; }
.GK li { width: 95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; text-align: center; }

.DEF ul { list-style-type:none; margin:0; padding:0; }

.DEF li { width:95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; }

.DM ul { list-style-type:none; margin:0; padding:0; }

.DM li { width: 95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; text-align: center; }

.MID ul { list-style-type:none; margin:0; padding:0; }

.MID li { width: 95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; text-align: center; }

.AM ul { list-style-type:none; margin:0; padding:0; }

.AM li {width: 95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; text-align: center; }

.STR ul { list-style-type:none; margin:0; padding:0; }

.STR li {width: 95px; height: 75px; padding: 5px; display: inline;

font-size: 12px; float: left; text-align: center; }



Upam, da mi nekdo lahko pomaga rešiti to težavo.


všeč(0) ni všeč(0) spam(0)
 
spicey 28. feb 2014 07:17:44 Pridružen od:
2. avg 2007
70 objav
87 3 3
#2
$pos = array(
'GK' => 'GK',
'DEF' => 'DEF', 'DR' => 'DEF', 'DRC' => 'DEF', ...
'MR' => 'MID', ...
);

while ($row = mysql_fetch_assoc($homeformation) {
$home[$pos[$row['pos']]][] = $row['lastname'];
}

// Golman
echo $home['GK'][0];
// Obramba, ja priimki se skp držijo...
foreach( $home['DEF'] as $id => $name ) echo $name;

To bi moralo delat, mogoče je kje kakšen typo, ampak če maš že tako postavljeno zadevo se mi zdi to najlažja rešitev (torej brez spreminjanja baze)


všeč(1) ni všeč(0) spam(0)
 
Headpetrol 1. mar 2014 16:22:06 Pridružen od:
25. feb 2014
2 objav
0 0 0
#3

spicey:


$pos = array(
'GK' => 'GK',
'DEF' => 'DEF', 'DR' => 'DEF', 'DRC' => 'DEF', ...
'MR' => 'MID', ...
);

while ($row = mysql_fetch_assoc($homeformation) {
$home[$pos[$row['pos']]][] = $row['lastname'];
}

// Golman
echo $home['GK'][0];
// Obramba, ja priimki se skp držijo...
foreach( $home['DEF'] as $id => $name ) echo $name;

To bi moralo delat, mogoče je kje kakšen typo, ampak če maš že tako postavljeno zadevo se mi zdi to najlažja rešitev (torej brez spreminjanja baze)




Hvala Spicey za pomoč!


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se