Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak to dodać aby nie nastukać za dużo kodu?
Flipi
post 4.07.2003, 11:55:43
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.06.2003
Skąd: Jastrzębie Zdrój

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


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
Go to the top of the page
+Quote Post
kurtz
post 4.07.2003, 12:26:01
Post #2





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

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


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


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
Flipi
post 4.07.2003, 15:23:44
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.06.2003
Skąd: Jastrzębie Zdrój

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


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
Go to the top of the page
+Quote Post
KaMeLeOn
post 4.07.2003, 15:26:30
Post #4





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

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


Policz pola funkcją [manual:4c2a4ba9f2]count()[/manual:4c2a4ba9f2]...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
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: 7.07.2025 - 13:29