Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak to dodać aby nie nastukać za dużo kodu?
Forum PHP.pl > Forum > PHP
Flipi
Mam taki sobie kod:
[php:1:9591e4d25e]<?php
$a++;
$ID = $row['ID'];
$numer = $row['numer'];
$nazwa = $row['nazwa'];
$modelik = $row['model'];
$name = "opcja_";
$name .= "$a";
$name .= "[]";
$wyswietlanie .= "<tr><td id=dolek><input type="text" name="numer[]" value="$numer" size="2"></td><td id=dolek><input type="text" name="nazwa[]" value="$nazwa" size="80"></td><td id=dolek><input type="text" name="cena[]" size="7">zł</td><td id=dolek><input type="radio" name="$name"></td><td><input type="radio" name="$name"></td><td><input type="radio" name="$name"></td></tr>";
?>[/php:1:9591e4d25e]

A pytanko jest takie jak napsiać skrypt dodający do bazy aby on to sobie "automatycznie" robiłquestionmark.gif
Dodam jeszcze że chodzi o zapis przy register_globalls = off

Pozdrawiam
Flipi
kurtz
Hej,
Cytat
Mam taki sobie kod:
[php:1:14a009f283]<?php
$a++;
$ID = $row['ID'];
$numer = $row['numer'];
$nazwa = $row['nazwa'];
$modelik = $row['model'];
$name = "opcja_";
$name .= "$a";
$name .= "[]";
$wyswietlanie .= "<tr><td id=dolek><input type="text" name="numer[]" value="$numer" size="2"></td><td id=dolek><input type="text" name="nazwa[]" value="$nazwa" size="80"></td><td id=dolek><input type="text" name="cena[]" size="7">zł</td><td id=dolek><input type="radio" name="$name"></td><td><input type="radio" name="$name"></td><td><input type="radio" name="$name"></td></tr>";
?>[/php:1:14a009f283]

A pytanko jest takie jak napsiać skrypt dodający do bazy aby on to sobie "automatycznie" robił??
Dodam jeszcze że chodzi o zapis przy register_globalls = off
Hmm na początek pozwole sobie zauważyć że nie powiedziałeś o jaką bazę danych chodzi - strzelam: MySQL? ;) Zakładam też, że chodzi o jedną tabelkę.

Teraz odpowiedź (ogólna)
1) musisz stworzyć formularz w którym będzie odpowiednio tyle pól ile chcesz kolumn ma tabelka, do której dodajesz wiersz. możesz go przygotować np w pliku formularz.php . Idę na łatwiznę i zakładam że jest tylko jedno pole Opis czyli: [xml:1:14a009f283]<form action="dodaj.php" action="post">
<input type="text" name="Opis" value="" />
</form>[/xml:1:14a009f283]
2) tworzymy plik do dodawania - np dodaj.php
a w nim sprawdzamy czy przeslano pole opis:[php:1:14a009f283]<?php
if( isset( $_POST["Opis"]) ){
...
}else{
echo "Nie przesłano opisu!";
}
[/php:1:14a009f283]
jeśli przesłano łączymy się z bazą (to pewnie już masz opanowane), tworzymy zapytanie SQL typu INSERT i je wykonujemy.

Całość może wyglądać np tak:

[php:1:14a009f283]if( isset( $_POST["Opis"]) ){
$conn = mysql_connect("localhost", "uzytkownik", "haslo");
if (NULL == $conn){
echo "Nie mogę polaczyc sie z baza";
exit;
}
$bazaJest = mysql_select_db("twoja_baza");
if ( FALSE == $bazaJest) {
echo "Nie mogę wybrac bazy";
exit;
}
$opisWyczyszczony = addslashes( $_POST["Opis"]);
$sql = "INSERT INTO mojaTabelka (Opis) values ($opisWyczyszczony) ";
$wynik = mysql_query($sql);
if( FALSE == $wynik ) {
echo "Nie udalo sie wykonac zapytania SQL";
echo mysql_error();
} else {
echo "Wszystko sie udało. Wykonano polecenie";
}
}else{
echo "Nie przesłano opisu!";
}
[/php:1:14a009f283]

Uf - Jak będziesz miał pytania - Pytaj - spróbuje odpowiedzieć ;)


Pozdrawiam
Flipi
No nie dokońca chyba ma to tak wyglądać.
U mnie pola nazywają się tak:
[php:1:f9e4fc65a6]<?php
<input type="text" name="numer[]" value="$numer" size="2">
?>[/php:1:f9e4fc65a6]
[php:1:f9e4fc65a6]<?php
<input type="text" name="nazwa[]" value="$nazwa" size="80">
?>[/php:1:f9e4fc65a6]
[php:1:f9e4fc65a6]<?php
<input type="radio" name="opcja_1[]" value="S">
?>[/php:1:f9e4fc65a6]
I teraz chodzi o to że na stronie z formularzem pobierane są dane z bazy (MySQL) i wpisywane do formularza, w zależności ile rekordów spełnia zapytanie SQL tyle będzie pól.
Natomiast w pliku (np. zapis.php) chciałbym umieścić funkcje zapisu, tylko chodzi o to żeby ona sama "wiedzia" ile razy ma się wykonać i przez to ile rekordów ma dopsiać do bazy.
Jak to zrobić??

Pozdrawiam
Flipi
KaMeLeOn
Policz pola funkcją [manual:4c2a4ba9f2]count()[/manual:4c2a4ba9f2]...
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.