Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Licznik/data do faktur
mov45
post 25.10.2016, 09:18:52
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 20.10.2016

Ostrzeżenie: (0%)
-----


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')";
Go to the top of the page
+Quote Post
rafkon1990
post 27.10.2016, 09:58:25
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 9
Dołączył: 14.09.2016
Skąd: Śląskie

Ostrzeżenie: (0%)
-----


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.

Ten post edytował rafkon1990 27.10.2016, 10:01:20
Go to the top of the page
+Quote Post
mov45
post 28.10.2016, 14:06:41
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 20.10.2016

Ostrzeżenie: (0%)
-----


Niestety, po wprowadzeniu wszystkich twoich zaleceń nic nie wyświetla, nawet kiedy zmieniłem pole tak jak napisałeś na końcu...
Go to the top of the page
+Quote Post
emstawicki
post 28.10.2016, 14:10:54
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


A jakiś błąd?


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
mov45
post 28.10.2016, 21:48:44
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 20.10.2016

Ostrzeżenie: (0%)
-----


No właśnie w ogóle nie wyrzuca danych do tabeli tak jakby pętla nie działała ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:53