Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Licznik/data do faktur
Forum PHP.pl > Forum > Przedszkole
mov45
Witam chciałem zrobić licznik do faktur tak aby przy dodawaniu nowego rekordu wychodziła cyfra łamana na rok czyli:

1/2016
2/2016

niestety nigdzie nie mogę znaleźć jak to zrobić gdyż wszędzie są podane tylko liczniki zwykłe bądź odwiedzin stron.

kod u mnie wygląda tak:

Kod
<table border='1'>
    
    <tr>
        <th>LP</th>
        <th>DataWpływu</th>
        <th>Nadawca</th>
        <th>NrWłasny</th>
        <th>DataPisma</th>
        <th>IlośćZałączników</th>
        <th>Skierowano</th>
        <th>Wydział</th>
        <th>Uwagi</th>
        </tr>
        
    <?php
    foreach($dane as $s):
    ?>
        <tr>        
        <td><input type='text' name="[counter]" value=("1/<?=date $s('Y')?>)</td>
        <td><?= date('Y-m-d', strtotime($s['inc_date']))?></td>
        <td><?=$s['sender']?></td>
        <td><?=$s['own_nr']?></td>
        <td><?=$s['letter_date']?></td>
        <td><?=$s['attachment']?></td>
        <td><?=$s['submitted']?></td>
        <td><?=$s['departaments']?></td>
        <td><?=$s['descript']?></td>
        
        </tr>
        
    <?php
    endforeach;
    ?>

    </table>
    <br>


a dokładnie chodzi o tą linię, gdyż tutaj coś jest nie tak:

Kod
<td><input type='text' name="[counter]" value=("1/<?=date $s('Y')?>)</td>


dodatkowo zastanawiam się czy w zapytaniu powinienem dla tego przypadku zdefiniować pole licznika i dodać licznik do inserta?

tak wygląda kod zapytania:

Kod
$sender = $_REQUEST['sender'];
$own_nr = $_REQUEST['own_nr'];
$letter_date = $_REQUEST['letter_date'];
$attachment = $_REQUEST['attachment'];
$submitted = $_REQUEST['submitted'];
$descript = $_REQUEST['descript'];

$query = "INSERT INTO officebk (counter, sender, own_nr, letter_date, attachment, submitted, descript) VALUES('$counter', '$sender', '$own_nr', '$letter_date', '$attachment', '$submitted', '$descript')";
rafkon1990
Po pierwsze jeśli szukasz odpowiedzi, ułatw nam trochę zadanie. Używaj odpowiednich tagów, w tym przypadku html i php.

Odnośnie samego problemu.

  1. <?php
  2. foreach($dane as $s):
  3. ?>
  4. <tr>
  5. <td><input type='text' name="[counter]" value=("1/<?=date $s('Y')?>)</td>
  6. <td><?= date('Y-m-d', strtotime($s['inc_date']))?></td>
  7. <td><?=$s['sender']?></td>
  8. <td><?=$s['own_nr']?></td>
  9. <td><?=$s['letter_date']?></td>
  10. <td><?=$s['attachment']?></td>
  11. <td><?=$s['submitted']?></td>
  12. <td><?=$s['departaments']?></td>
  13. <td><?=$s['descript']?></td>
  14. </tr>
  15.  
  16. <?php
  17. endforeach;
  18. ?>


Pętla foreach proponuję przerobić na
  1. foreach($dane as $index=>$s)
uzyskując w ten sposób numerację.
Atrybut name inputu powinien mieć wartość "counter".
  1. <input type='text' name="counter" value ...

Wartość inputu proponuję zmodyfikować na:
  1. <input type='text' name="counter" value="<?= $index.$s['Y']; ?>...


No i oczywiście trzeba uzupełnić kod:
  1. $counter = $_REQUEST['counter'];
  2. $sender = $_REQUEST['sender'];
  3. $own_nr = $_REQUEST['own_nr'];
  4. $letter_date = $_REQUEST['letter_date'];
  5. $attachment = $_REQUEST['attachment'];
  6. $submitted = $_REQUEST['submitted'];
  7. $descript = $_REQUEST['descript'];
  8.  
  9. $query = "INSERT INTO officebk (counter, sender, own_nr, letter_date, attachment, submitted, descript) VALUES('$counter', '$sender', '$own_nr', '$letter_date', '$attachment', '$submitted', '$descript')";


W takim przypadku tabela officebk musi być typu varchar o długości nie mniej niż 6 znaków (dla przypadków od 1/2016 do 9/2016), lecz domyślam się że jest to autoinkrement int.
mov45
Niestety, po wprowadzeniu wszystkich twoich zaleceń nic nie wyświetla, nawet kiedy zmieniłem pole tak jak napisałeś na końcu...
emstawicki
A jakiś błąd?
mov45
No właśnie w ogóle nie wyrzuca danych do tabeli tak jakby pętla nie działała ...
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.