• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie wartości z bazy przed wyslaniem formularza

VPS Starter Arubacloud
0 głosów
186 wizyt
pytanie zadane 2 lipca 2017 w JavaScript przez Paweł Barszcz Użytkownik (950 p.)
Witam, mam prosty formularz. Problem w tym, że chce zrobić w jquery tak, jeśli istnieje rekord w bazie danych to automatycznie po wczytaniu strony forumlarz się nimi uzupełnia + dodaje atrybut disabled, natomiast jeśli jest pusty mogę bezproblemu wypełnić. Tabela musi przyjmować TYLKO 1 rekord.

2 odpowiedzi

0 głosów
odpowiedź 2 lipca 2017 przez Jedras Maniak (54,860 p.)
Można to zrobić za pomocą ajaxa.

Ajax: http://api.jquery.com/jquery.ajax/

Zmiana atrybutu: http://api.jquery.com/attr/

Ustawienie wartości: http://api.jquery.com/val/
0 głosów
odpowiedź 2 lipca 2017 przez Chess Szeryf (76,710 p.)
<?php 

$link = new mysqli('localhost','root','','pawel_barszcz');

$query = 'select * from pawel_barszcz';

$result = $link->query($query);
$row = $result->fetch_assoc();
 
if($result->num_rows==1){ 
	$variable = 'disabled';
	$variable2 = $row["fruit"];
	$variable3 = $row["color"];
}else{ 
	$variable2 = null;
	$variable3 = null;
}
	
?>

<form method="post" action="">
	Fruit: <input type="text" value="<?= $variable2 ?>" name="fruit" />
	Color: <input type="text" value="<?= $variable3 ?>" name="color"/>
	<input type="submit" <?= (!isset($variable) ? null : $variable );?> value="add record"/>
</form>

<?php 
if(empty($_POST['fruit'])||empty($_POST['color'])){
	null;// Nie możesz zostawić pustych pól
}else{ 
	$query2 = "INSERT INTO `pawel_barszcz` values(null,\"{$_POST['fruit']}\",\"{$_POST['color']}\")";
	var_dump($link->query($query2));
	header('Refresh: 0');
}	
 
?>

<form method="post" action="">
	<input type="submit" name="delete_record" value="delete record"/>
</form>

<?php 

if(isset($_POST['delete_record'])){
	$link->query("delete from `pawel_barszcz`");
	header('Refresh: 0');
}
?>

Nie wiem za bardzo jak ustawić w bazie danych, żeby blokował dodawanie rekordów jak już jeden istnieje.

komentarz 3 lipca 2017 przez Paweł Barszcz Użytkownik (950 p.)
Dajesz po prostu input type hidden z wartoscia powiedzmy 0 lub 1 i jesli istnieje zmieniasz ja..

Mój problem rozwiązany, moje pytanie dotyczylo jquery/ajax a nie czystego php :)

A Ty kolego poćwicz nad walidacją danych :)

Podobne pytania

0 głosów
1 odpowiedź 110 wizyt
pytanie zadane 5 sierpnia 2017 w JavaScript przez omgl0lwth Początkujący (340 p.)
0 głosów
1 odpowiedź 3,335 wizyt
pytanie zadane 11 grudnia 2015 w JavaScript przez majkkel Użytkownik (530 p.)
0 głosów
1 odpowiedź 310 wizyt

92,851 zapytań

141,792 odpowiedzi

320,882 komentarzy

62,183 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...