Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd w skrypcie stworzonym na tablach
Forum PHP.pl > Forum > Przedszkole
Tom:-)
Posiadam skrypt:
  1. <table border="1" width="300" align="center";
  2.    <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  3.    <?
  4.    srand(time());
  5.    
  6.    for($i=1;$i<=10;$i++);
  7.    {
  8.        $tablica=array();
  9.        for($k=1;$k<=6;$k++)
  10.        {
  11.            do
  12.            {
  13.                $liczba=rand(1,49);
  14.            }
  15.            while(in_array($liczba,$tablica));
  16.            $tablica[]=$liczba;
  17.        }
  18.        sort($tablica);
  19.        echo'<tr><td align=center>'.$i.'</td><td align=center';
  20.        for($k=0;$k<6;$k++) echo'$tablica[$k] ';
  21.        echo'</td></tr>';
  22.    }
  23.    ?>


Powinno się wyświetlać 10 wierszy w 2 kolumnach od 1 do 10. Ukazuje mi się jeden wiersz w którym w 1 komórce ukazuje mi się 11 a w drugiej pusto. Jest błąd merytoryczny tylko nie mogę go zlokalizować
cbagov
np moglbys na koncu linie

<td align=center';

zmienic na

<td align=center>';

oraz

echo'$tablica[$k] ';

na

echo $tablica[$k]." ";


a potem dzialaj dalej
piotrooo89
coś takiego przerób sobie...

  1. <table border="1" width="300" align="center";
  2.   <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  3.   <?
  4.   srand(time());
  5.  
  6.    for ($i=1;$i<=10;$i++)
  7.    {
  8.        echo '<tr>';
  9.        for ($j=1;$j<=2;$j++)
  10.        {
  11.            echo '<td>'.$i.'</td>';
  12.        }
  13.        echo '</tr>';
  14.    }
  15.   ?>
  16.   </table>
Tom:-)
np moglbys na koncu linie

Kod
<td align=center';

zmienic na

<td align=center>';

Tak mam :-)


Kod
echo'$tablica[$k] ';

na

echo $tablica[$k]." ";

To nie jest błąd. Zapis jest poprawny.

Kod
<table border="1" width="300" align="center";
  <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  <?
  srand(time());

   for ($i=1;$i<=10;$i++)
   {
       echo '<tr>';
       for ($j=1;$j<=2;$j++)
       {
           echo '<td>'.$i.'</td>';
       }
       echo '</tr>';
   }
  ?>
  </table>
Też jest błąd
piotrooo89
jaki błąd? u mnie śmiga wyśmienicie... napisz może dokładnie co chcesz osiągnąć...
Tom:-)
A jak u Cibie wygląda cały kod w całości
piotrooo89
u mnie wyświetla ok tzn:

wiersze od 1 do 10 a w drugiej kolumnie lol:

  1. <table border="1" width="300" align="center";
  2.   <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  3.   <?
  4.  
  5.    for ($i=1;$i<=10;$i++)
  6.    {
  7.        echo '<tr>';
  8.        for ($j=0;$j<=0;$j++)
  9.        {
  10.            echo '<td>'.$i.'</td>';
  11.            echo '<td>lol</td>';
  12.        }
  13.        echo '</tr>';
  14.    }
  15.   ?>
  16.   </table>
Tom:-)
Sam skrypt działa, ale nie nie działa pod mój skrypt.
piotrooo89
toż się pytam co chcesz zrobić! bo nie umiem jeszcze w myślach czytać.
Tom:-)
Napisałem że w 1 post że jest błąd i go opisałem. I nie wiem gdzie jest błąd
piotrooo89
a ja się pytam dalej... co ma się ukazywać a tych kolumnach i wierszach bo to jest dość ważne...
Tom:-)
Powinno się wyświetlać 10 wierszy w 2 kolumnach od 1 do 10. W 1 kolumnie powinno być ID od 1 do 10 a w drugiej 6 losowych cyfr.
Darti
  1. <table border="1" width="300" align="center">
  2. <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  3. <?php
  4.  
  5. function losowanie(){
  6. $tablica = array();
  7.  
  8. while(count($tablica) < 10){
  9. $liczba = rand(1,49);
  10. if(!in_array($liczba,$tablica)){
  11. $tablica[] = $liczba;
  12. }
  13. }
  14. sort($tablica);
  15. return $tablica;
  16. }
  17.  
  18. for ($i=1;$i<=10;$i++){
  19. $liczby = implode(',',losowanie());
  20. echo "<tr><td>{$i}</td><td>";
  21. echo $liczby;
  22. echo "</td></tr>";
  23. $tablica[$i] = $liczby;
  24.  
  25. }
  26. ?>
  27. </table>
Tom:-)
Spox tylko ten zapis jest jeszcze dla mnie nie zrozumiały bo się dopiero uczę PHP i nie doszedłem jeszcze do funkcji ale już za niedługo zrozumiem zapis
cbagov
Cytat
echo'$tablica[$k] ';

na

echo $tablica[$k]." ";
To nie jest błąd. Zapis jest poprawny.


A ja mowie, ze to blad, bo w nawiasach pojedynczych nie PHP nie interpretuje ciagow, ale myslalem, ze to wiesz.
piotrooo89
przemyślałem problem i zrobiłem coś takiego:

  1. <table border="1" width="300" align="center";
  2.  <tr><th>Losowanie</th><th>Skreślenia</th></tr>
  3.  <?
  4.  
  5.   for ($i=1;$i<=10;$i++)
  6.   {
  7.       echo '<tr>';
  8.       for ($j=0;$j<=0;$j++)
  9.       {
  10.           echo '<td>'.$i.'</td>';
  11.           echo '<td>';
  12.            for ($r=1;$r<=6;$r++)
  13.            {
  14.                $los=rand(1,20);
  15.                echo $los.',';
  16.            }
  17.           echo '</td>';
  18.       }
  19.       echo '</tr>';
  20.   }
  21.  ?>
  22.  </table>


dość proste rozwiązanie...
Tom:-)
Oh tak smile.gif Trochę w nim pozmieniam i będzie super. Dziękuję za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.