Avatar billede usse Nybegynder
19. september 2006 - 19:27 Der er 20 kommentarer og
1 løsning

Booking-system..

Jeg skal igang med at lave et booking-system, der skal bruges til et såkalt LAN/NET-party arrangement, skal virke på følgende måde.

Booking-systemet skal være felt baseret faktisk lidt ala et koordinat-system, dvs. EKS: der bliver skiftet til en ny række hvis xFelter = 25, der må max være 11 rækker, hvilket giver 275 felter.

Der skal så være mulighed for at indsætte borde for et antal felter, EKS: bord_1 skal have felterne 5-14, bord_2 felterne 30-39 osv..

Nogen der kan give et puff i den rigtige retning, har prøvet at lege lidt med arrays, for-løkke, men kan ikke rigtig få det på plads..
Avatar billede zynzz Praktikant
19. september 2006 - 19:32 #1
Hvorfor kan du ikke få det til at virke i en for løkke ?
Avatar billede usse Nybegynder
19. september 2006 - 19:40 #2
Jeg kan bare ikke lige overskue det, kan godt få løkken på plads sådan da, men hvordan laver man en smart metode til indsættelse af borde ?
Avatar billede zynzz Praktikant
19. september 2006 - 19:42 #3
Hvad mener du?, kan du ikke bare lave det i koden altså hvor mange rækker der skal være ?
Avatar billede zynzz Praktikant
19. september 2006 - 19:45 #4
<?
$sumcount = 1;
$sum = 4;

$i="0";
echo "<table><tr>";
$i = 0;
while ($i < 100) {
echo "Plads: " . $i;
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;
}
?></tr></table>

Sådan kan det vel laves ?
Avatar billede usse Nybegynder
19. september 2006 - 19:47 #5
$xFelter                = 25;
$yFelter                = 11;
$antalFelter            = $xFelter * $yFelter;
$antalPersonerVedBord  = 20;

$arrayBorde = array(
                    "bord1" => array(),
                    "bord2" => array(),
                    "bord3" => array(),
                    "bord4" => array()
              );
$arrayBorde[bord1] = array(5, 14);
$arrayBorde[bord2] = array(30, 39);
$arrayBorde[bord2] = array(55, 64);

print "<table border=0 cellpadding=0 cellspacing=0 width=250px height=120px><tr>";

for($antal = 1; $antal <= $antalFelter; $antal++){

foreach( $arrayBorde as $noegle  => $vaerdi ){
foreach( $vaerdi    as $noegle2 => $vaerdi2 ){
$v1 = $arrayBorde[$noegle][0];
$v2 = $arrayBorde[$noegle][1];
}
}

if($antal >= $v1 AND $antal <= $v2){ print "<td>B</td>"; }
else { print "<td>".$antal."</td>"; }

if($antal % $xFelter == 0){  print "</tr>"; }
}

print "</table>";

Ved godt det ikke kan lade sig gøre, men for at forstå tankegangen, lang tid siden jeg har rodet med php hehe..
Avatar billede zynzz Praktikant
19. september 2006 - 19:54 #6
Men det er det samme min kode udkriver :)
Avatar billede usse Nybegynder
19. september 2006 - 19:57 #7
yep, så er det bare at kunne indsætte bordene bah..
Avatar billede zynzz Praktikant
19. september 2006 - 20:00 #8
Men det ændre du bare ved at ændre $sumcount som er 4 altså 4 rækker / antal af pladser som jeg har sat til 100 (99) <=
Avatar billede usse Nybegynder
19. september 2006 - 20:07 #9
det er ikke sådan jeg mener det, forstil dig et koordinat-system der består af 25 felter henad X, 11 felter nedad Y, du vil have placeret et bord i midten eks. for bestemte felter
Avatar billede zynzz Praktikant
19. september 2006 - 20:13 #10
Men skal man så både vælge hvor bordene + deltagerne skal sidde ?
Avatar billede usse Nybegynder
19. september 2006 - 20:16 #11
kun bordene, så ud fra felterne til bordene skal der registreres pladser
Avatar billede zynzz Praktikant
19. september 2006 - 20:18 #12
Men så skal du nok gøre som jeg gjorde før, og så ændre dine felter i databasen...
Avatar billede zynzz Praktikant
19. september 2006 - 20:19 #13
fx. felt1 = bord og felt2 = bord og så fx. felt 3 = deltager, + evt. et nummer på deltageren...
Avatar billede usse Nybegynder
21. september 2006 - 20:50 #14
Jeg har valgt at lave det på en anden måde, men skal lige have lidt hjælp til arrays..


$tilmeldte = array ();

$hentTilmeldte  = mysql_query("SELECT pladsNr, profilID FROM booking ORDER BY pladsNr");
while($plads    = mysql_fetch_array($hentTilmeldte)) {
  $tilmeldte[$plads[pladsNr]] = $plads[profilID];
}

for($i = 1; $i <= $antalPladser; $i++){

  if($i == $tilmeldte[$i]){ <----- Hvis i (pladsNr) er kommet til array-pladsNr optaget, men kan bare ikke få det til at virke bah.. hjælp
  print "<td color=red>".$i."O</td>";
  }
  else { print "<td>".$i."</td>"; }

  if($i % $antalPladserRaekke == 0){  print "</tr>"; }

  if($i % $antalPladserBord == 0){ print "<tr><td colspan=".$antalPladserRaekke.">&nbsp;</td></tr>"; }

}
Avatar billede usse Nybegynder
21. september 2006 - 21:04 #15
Kan godt finde ud af det ved at ligge en foreach ind i selve for løkken, men kan det ikke laves på en smartere måde MVH
Avatar billede zynzz Praktikant
22. september 2006 - 16:17 #16
if(isset($tilmeldte[$i]))

$antalPladserRaekke hvad er den sat til?

$antalPladserBord hvad er den sat til?

....
Avatar billede zynzz Praktikant
22. september 2006 - 16:19 #17
Ellers er det fordi der skal stå: bgcolor=
Avatar billede zynzz Praktikant
22. september 2006 - 16:24 #18
Hvis ikke det virker kan du jo lige tjekke dit array...: print_r ($tilmeldte);
Avatar billede zynzz Praktikant
22. september 2006 - 16:32 #19
if($i % $antalPladserRaekke == 0){  print "</tr>"; }

  if($i % $antalPladserBord == 0){ print "<tr><td colspan=".$antalPladserRaekke.">&nbsp;</td></tr>"; }



Hvorfor == 0 ????, nærmere 1 ?
Avatar billede zynzz Praktikant
22. september 2006 - 16:35 #20
Avatar billede usse Nybegynder
20. november 2006 - 15:46 #21
jeg har fundet en løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester