Przypisanie wartości zapytanie do zmiennej

0

Dopiero zaczynam z PHP i mam mały problem. W jaki sposób przypisać wynik zapytania do zmiennej? Chodzi o coś takiego:

$zmienna = $poloczenie->query("jakiś select zwracający int");

//i gdzieś dalej w kodzie 

$poloczenie->query(Insert ... Values ($zmienna))

Z góry dzięki za pomoc

1

Cztery lata programowania nie nauczyły Cię efektywnego używania dokumentacji?

0
Mattii4211 napisał(a):

Dopiero zaczynam z PHP i mam mały problem. W jaki sposób przypisać wynik zapytania do zmiennej? Chodzi o coś takiego:

$zmienna = $poloczenie->query("jakiś select zwracający int");

//i gdzieś dalej w kodzie 

$poloczenie->query(Insert ... Values ($zmienna))

Z góry dzięki za pomoc

A zapytanie nie zwraca przypadkiem tablicy? Nawet jeżeli to jedna wartość? Sprawdź print_r($zmienna) .

0

Zrobiłem to tak:


$zmienna = $polaczenie ->query(....);
$zmienna = $zmienna->fetch_array();
// i póżniej pobieram  wartośc z pola 0 

nie wiem czy to na pewno poprawne ale działa

Ale mam teraz jeszcze 1 pytanie. Mam formularz i chciałbym do niego selectem wczytać dane (do odpowiednich pól) i za bardzo nie wiem jak się za to zabrać ?

0
Mattii4211 napisał(a):

Zrobiłem to tak:


$zmienna = $polaczenie ->query(....);
$zmienna = $zmienna->fetch_array();
// i póżniej pobieram  wartośc z pola 0 

Pamiętaj unikaj takiego nazewnictwa we właściwym projekcie.

nie wiem czy to na pewno poprawne ale działa

Ale mam teraz jeszcze 1 pytanie. Mam formularz i chciałbym do niego selectem wczytać dane (do odpowiednich pól) i za bardzo nie wiem jak się za to zabrać ?

Pobierz dane z DB, które cie interesują w postaci tablicy. I robisz coś tego typu

<form method="POST" action="form.php">
 <select name="select_form">
  <?php
   foreach($arr as $name){
    echo "<option>{$name}</option>";
   }
  ?>
 </select>
</form>
0

Mam coś takiego. Wszystkie dane sobie wczytuję:

echo'<div id="content">
						<form method="post">
						<br> <input class="dane" type="text" name="firstname" value='.$title.'>
						<textarea name="tresc" rows="50" cols="50">'.$tresc.'</textarea>
						<input class="dane" type="text" name="contact" value='.$contact.'>
							<select class="wybor" name="category" size="1">
						<option selected>Wybierz kategorię:</option>
						<option value="books">Książki</option>
						<option value="cars">Motoryzacja</option>
						<option value="work">Praca</option>
						<option value="house">Nieruchmości</option>
						<option value="electric">Elektronika</option>
						<option value="others">Inne</option>
							</select>
						<br /><button type="reset" name="reset">Usuń wszystkie informacje</button><br />
						<input type="submit" class="add" name="add" value="Edytuj ogłoszenie"/>
						</form>
						</div>';

Tylko nie za bardzo wiem jak to znów zebrać do kupy i zrobić UPDATE.

0
Mattii4211 napisał(a):

Mam coś takiego. Wszystkie dane sobie wczytuję:

echo'<div id="content">
						<form method="post">
						<br> <input class="dane" type="text" name="firstname" value='.$title.'>
						<textarea name="tresc" rows="50" cols="50">'.$tresc.'</textarea>
						<input class="dane" type="text" name="contact" value='.$contact.'>
							<select class="wybor" name="category" size="1">
						<option selected>Wybierz kategorię:</option>
						<option value="books">Książki</option>
						<option value="cars">Motoryzacja</option>
						<option value="work">Praca</option>
						<option value="house">Nieruchmości</option>
						<option value="electric">Elektronika</option>
						<option value="others">Inne</option>
							</select>
						<br /><button type="reset" name="reset">Usuń wszystkie informacje</button><br />
						<input type="submit" class="add" name="add" value="Edytuj ogłoszenie"/>
						</form>
						</div>';

Tylko nie za bardzo wiem jak to znów zebrać do kupy i zrobić UPDATE.

Do form dodajesz atrybut action="plikphp.php". I w tym pliku if (isset('$_POST')) i ze zmiennej $_POST pobierasz wartości $firstname = $_POST['firstname'] i zapisujesz w bazie.

0

Jednak coś źle robię. Po 1 jak echo wyświetla info z bazy to przycisk reset na te dane nie działa (jak poprawić?)
2. Nie wiem dlaczego zmienna która pobiera jakieś info z bazy wyświetla ją tylko do spacji?

Może tak dla jasności jak w 1 pliku php wczytać dane z bazy, w razie wykrytych problemów chcę przy odpowiednich inputach wyświetlić info o błędzie a jeśli wszystko jest ok to chcę zrobić UPDATE. Technicznie wiem jak to wszystko wykonać ale jednak coś mi nie działa. Najbardziej zależy mi na tym SELECT do formularza, bo ten mój sposób z echo coś jednak zawodzi

I mam jeszcze pytanie: mam w bazie rekordy i każdy ma swój id. I w jaki sposób przypisać to id, do zmiennej $_SESSION, żeby przy odpowiednim rekordzie pojawiało się to konkretne id a nie ostatnie jakie zostało wczytane. Poniżej kod :

//Po SELECT robię tak:
$wiersz = $rezultat->fetch_array();
$tresc = $wiersz['contents'];
$title = $wiersz['title'];
$contact = $wiersz['contact'];
$autor = $wiersz['id_author'];
$id = $wiersz['id'];

// sprawdzam kto jest zalogowany i jełśli jego id == $autor 
//to mam 2 buttony 

$usun =  '<form action="delete.php" method="post"><input type="submit"  value="Usuń ogłoszenie" class="usun" /></form>';
$favorites = '<form action="addToFavorites.php" method="post"><input type="submit"  value="Dodaj do ulubionych" class="usun" /></form>';
							
if(($autor == $id_author0))
{
echo'<div id="ogloszenie"><h1>'.$title.'</h1><p1>'.$tresc.'</p1><br /><p2>Kontakt:	'.$contact.'</p2>'.$favorites.$usun.'</div>';
// jak tutaj zrobię: $_SESSION['id'] = $id; to zawsze zwróci id ostatniego rekordu a nie akurat tego pod którym kliknę np usun 
}

Z góry dzięki za pomoc

0
Mattii4211 napisał(a):

Jednak coś źle robię. Po 1 jak echo wyświetla info z bazy to przycisk reset na te dane nie działa (jak poprawić?)

Reset jako tako działa, ale on nie usuwa wartości atrybutu value. Musiałbyś wspomóc się raczej JSem.

  1. Nie wiem dlaczego zmienna która pobiera jakieś info z bazy wyświetla ją tylko do spacji?

Ale sama zmienna zawiera całą informacje z bazy? Czy tylko jest wyświetlana do spacji? Nie spotkałem się z takim problemem.

Może tak dla jasności jak w 1 pliku php wczytać dane z bazy, w razie wykrytych problemów chcę przy odpowiednich inputach wyświetlić info o błędzie a jeśli wszystko jest ok to chcę zrobić UPDATE. Technicznie wiem jak to wszystko wykonać ale jednak coś mi nie działa. Najbardziej zależy mi na tym SELECT do formularza, bo ten mój sposób z echo coś jednak zawodzi

I mam jeszcze pytanie: mam w bazie rekordy i każdy ma swój id. I w jaki sposób przypisać to id, do zmiennej $_SESSION, żeby przy odpowiednim rekordzie pojawiało się to konkretne id a nie ostatnie jakie zostało wczytane.

Nie wiem czy to kwestia godziny i nie rozumiem twoich pytań, czy na prawdę są tak pogmatwane :)

0

<select class="wybor" name="category" size="1">
				<option selected>Wybierz kategorię:</option>
				<option value="books">Książki</option>
				<option value="cars">Motoryzacja</option>
				<option value="work">Praca</option>
				<option value="house">Nieruchmości</option>
				<option value="electric">Elektronika</option>
				<option value="others">Inne</option>
			</select>

Mam taką listę i pytanie jak zobaczyć czy jest wybrana jakaś opcja? $_POST['category']; tylko jak sprawdzić czy jest coś innego wybrane niż Wybierz kategorię: ?

0
Mattii4211 napisał(a):

<select class="wybor" name="category" size="1">
				<option selected>Wybierz kategorię:</option>
				<option value="books">Książki</option>
				<option value="cars">Motoryzacja</option>
				<option value="work">Praca</option>
				<option value="house">Nieruchmości</option>
				<option value="electric">Elektronika</option>
				<option value="others">Inne</option>
			</select>

Mam taką listę i pytanie jak zobaczyć czy jest wybrana jakaś opcja? $_POST['category']; tylko jak sprawdzić czy jest coś innego wybrane niż Wybierz kategorię: ?

Może nie utrudniaj sobie życia i dodaj po prostu znacznik label i zlikwiduj pierwszą opcję? Jeżeli musisz to może dodaj do pierwszego option jakieś value i jeżeli ta opcja zostanie wybrana to nie przepuszczaj dalej.

0

Chyba już ostatnie pytanie mam echo z kodem html i w value chciałbym wstawić kod z if. Jak to zrobić?

//cos takiego
 echo '<input type="text" value="if(cos){}else{}">';
0

Boże... To są podstawy podstaw... To powinno być karalne...

0

Nooo... konkatenacją.

0

Ale jak? próbuję:

value='''.<?php ... ?>.'" //wywala bląd
value="'.if(){}.'" //wywala błąd

1 użytkowników online, w tym zalogowanych: 0, gości: 1