Przypisanie wartości zapytanie do zmiennej

Odpowiedz Nowy wątek
2019-08-08 20:50
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

Pozostało 580 znaków

2019-08-08 21:27
1

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


Pozostało 580 znaków

2019-08-12 09:14
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) .

edytowany 1x, ostatnio: bartox;, 2019-08-12 09:15

Pozostało 580 znaków

2019-08-13 16:08
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ć ?

Pozostało 580 znaków

2019-08-13 16:23
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>
edytowany 2x, ostatnio: bartox;, 2019-08-13 16:28
ok ale w sensie robić echo w każdym inpucie, który mnie interesuje? - Mattii4211 2019-08-13 16:26
Dokładnie echo. Już edytuję - bartox; 2019-08-13 16:28

Pozostało 580 znaków

2019-08-13 17:46
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.

Pozostało 580 znaków

2019-08-13 19:19
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.

Dzięki już sobie poradziłem :) a tak na boku zapytam jak sformatować kod w notepad++ ? - Mattii4211 2019-08-13 19:21
Nie działam na n++, ale nwm czy w tak podstawowym edytorze jest wbudowana opcja upiększania kodu. - bartox; 2019-08-13 19:23
A co polecasz? Mam Eclipsa i CodeBlocks ale nie wiem czy nadają się do html/PHP? - Mattii4211 2019-08-13 19:28
Mnie bardzo przyjemnie pisze się w Visual Studio Code. Zainstaluj dodatki do html i php w aplikacji ;) - bartox; 2019-08-13 19:32

Pozostało 580 znaków

2019-08-14 20:21
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ć?)

  1. 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

edytowany 2x, ostatnio: Mattii4211, 2019-08-14 21:18
Nie zagłębiam się na razie w problem, ale ta linijka jest ok? $autor == $id_author0 - bartox; 2019-08-14 23:21
Tak, ale nie wrzucałem tutaj całego kodu - Mattii4211 2019-08-14 23:31

Pozostało 580 znaków

2019-08-15 00:22
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 :)

Pewnie ja też to pisałem strasznie chaotycznie xd ale już tak całkiem na boku. W jaki sposób ustawić coś w ten deseń : onclick="$_SESSION['cos']"? - Mattii4211 2019-08-15 18:26
On click to kwestia JSa, a zmienne sesyjne PHP. Więc w onclick musi być jakaś funkcja z JavaScript i w niej musisz podejmować dalsze akcje. - bartox; 2019-08-15 18:31
Gdy robiłem coś w PHP raczej unikałem onclick i wolałem wysłać formularz submitem i odebrać w post lub get, bo inaczej to zabawa AJAXem - bartox; 2019-08-15 18:51
Gdy pisałem w PHP raczej unikałem onclick wolałem wysłać formularz submitem przez post czy get bo inaczej zaczyna się zabawa z ajaxem. - bartox; 2019-08-15 18:53
Dobry pomysł z post :) - Mattii4211 2019-08-15 21:21

Pozostało 580 znaków

2019-08-15 21:23
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ę: ?

Pozostało 580 znaków

2019-08-15 22:14
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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