Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP - sprawdzanie wartości pola
Forum PHP.pl > Forum > Przedszkole
michal8830
Witam. Mam pewien problem i proszę o pomoc.
Mam wstawione trzy pola

pole1
pole2
pole3

w bazie pola posiadają przypisana wartość np.

pole1 = 2
pole2 = 3
pole3 = 4

i teraz moje pytanie jak edytować wszystkie pola naraz

tzn.

chce, aby skrypt brał pod uwagę tylko realnie wpisane wartości w pola, a omijał pola nie wypełnione np.

pole1 = przypisze tu nową wartość 5
pole2 = nic tu nie wpiszę
pole3 = przypiszę tu nową wartość 6

Skrypt ma w tym wypadku zupdatować w bazie tylko pole1 i pole3.
Proszę o pomoc w tym temacie smile.gif
Pyton_000
A z czym masz problem? Ze sprawdzeniem czy pole jest puste?

if(trim($pole) === '')
michal8830
Obrazek

Chce zeby po wcisnieciu przycisku "Zapisz wszystkie edytowane dane" skrypt pomijal nie wypelnione pola.
Wypelniam np. "Nowa zmianaA" a reszte zostawiam puste. Klikam przycisk i w bazie podmienia sie tylko jedno pole.
Moglbym to zrobic kazde pole na innym przycisku ale chce to miec tylko po kliknieciu jednego.


Troche kodu

<form id = "form2" action = "" method = "post">
<br/>ID edytowanego rekordu<br/>
<input name = "id">
<br/>Nowa Data:
<br/><i>rrrrmmdd</i><br/>
<input name = "data">
<br/>Nowa Zmiana A:<br/>
<input name = "liczba1">
<br/>Nowa Zmiana B:<br/>
<input name = "liczba2">
<br/>Nowa Zmiana C:
<br/><input name = "liczba3">
<br/><br/>
<input type = "submit" name = "edytuj" value = "Zapisz wszystkie edytowane dane">
<br/><br/>
<input type = "submit" value = "Odśwież">
<br/><br/>
<input type = "submit" name = "powrot" value = "Strona Glowna" onclick="document.getElementById('form2').action='./index.php'">
</form>
</body>
</center>
</html>

<?PHP
echo "<center>";
include("dbconnect.php");
ini_set( 'display_errors', 'off' );

$odczyt = "SELECT * FROM `detale`";
$wynik = mysql_query($odczyt) or die("Nie udalo sie odczytac danych!");


if(mysql_num_rows($wynik) > 0) {
echo "<table cellpadding=\"2\" border=1>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>ID: ".$r['id']."</td>";
echo "<td>Data: ".$r['data']."</td>";
echo "<td>ZmianaA: ".$r['zmianaA']."</td>";
echo "<td>ZmianaB: ".$r['zmianaB']."</td>";
echo "<td>ZmianaC: ".$r['zmianaC']."</td>";
echo "<td>Suma: ".$r['suma']."</td>";
echo "</td>";
echo "</tr>";
}
echo "</table>";
echo "<br/>";
$calasuma = "SELECT SUM(`suma`) FROM `detale`";
$sumacala = mysql_query($calasuma);
$sumcala = mysql_fetch_assoc($sumacala);
echo "<table cellpadding=\"2\" border=1>";
echo "<tr>";
echo "<td>Suma calosci: ".$sumcala['SUM(`suma`)']."</td>";
echo "</tr>";
echo "</table>";

$a = $_POST['liczba1'];
$b = $_POST['liczba2'];
$c = $_POST['liczba3'];
$d = $_POST['data'];
$id = $_POST['id'];
//i tu cos trzeba zrobic
if(isset($_POST['edytuj']))
{
$sql2 = "UPDATE detale SET data = ".$d." WHERE ID = ".$id."";
$wykonanie2 = mysql_query($sql2)or die("<br/>Wprowadz dane!");

$sql3 = "UPDATE detale SET zmianaA = ".$a." WHERE ID = ".$id."";
$wykonanie3 = mysql_query($sql3)or die("<br/>Wprowadz dane!");

$sql4 = "UPDATE detale SET zmianaB = ".$b." WHERE ID = ".$id."";
$wykonanie4 = mysql_query($sql4)or die("<br/>Wprowadz dane!");

$sql5 = "UPDATE detale SET ZmianaC = ".$c." WHERE ID = ".$id."";
$wykonanie5 = mysql_query($sql5)or die("<br/>Wprowadz dane!");

$wynik = $a + $b + $c;

$sql6 = "UPDATE detale SET suma = ".$wynik." WHERE ID = ".$id."";
$wykonanie6 = mysql_query($sql6)or die("<br/>Wprowadz dane!");

echo ("<br/>Dane zostaly zapisane do bazy danych!");
}
echo "</center>";
}
?>
Pyton_000
Dalej nie napisałes z czym masz problem.

michal8830
//i tu cos trzeba zrobic


w tym miejscu chce zrobic ta edycje danych zeby tak jak napisalem puste pola byly pomijane a do bazy wpisywana tylko wartosc z wypelnionego
nospor
No i Pyton ci przeciez napisal: rob swoje UPDATE dla danej zmiennej $a/$b/$c dopiero gdy ta zmienna nie jest pusta. Zwykly IF. Dostales nawet jak ma wygladac ten IF. W czym problem?
michal8830
ok sprobuje dzieki
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.