Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PDO w PHP
Forum PHP.pl > Forum > Przedszkole
temperator
Witam wszystkich.
Jestem tu nowy i to mój pierwszy post więc proszę o wyrozumiałość smile.gif
Mam 2 pliki php jeden pod nazwą ad.php a drugi in.php w pliku ad.php ma być kod łączący sie z baza PDO a w pliku in.php mam wyciągnąć z bazy danych w osobnych DIV-ach nazwy z różnych ID

ma to być coś takiego


mam część kodu
ad.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7.  
  8. <?php
  9.  
  10. $pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
  11. $result = $pdo -> query('SELECT * FROM autor') -> fetch();
  12.  
  13. foreach($result as $key => $value)
  14. {
  15. echo $value
  16. }
  17. ?>
  18.  
  19. </body>
  20. </html>

in.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <?php co tu będzie? ?>
  8. <?php co tu będzie? ?>
  9. <?php co tu będzie? ?>
  10. <?php co tu będzie? ?>
  11.  
  12. </body>
  13. </html>


baza danych
  1. CREATE TABLE autor (
  2. id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. nazwa VARCHAR(255)
  4. );


pomoże ktoś to mi zrobić?

pozdrawiam
nospor
Witamy, zapoznaj sie ze strukturą forum. Przenosze
Boshi
Albo nie rozumiem o co ci chodzi, albo po prostu wyciągnij wszystkie nazwy o podanych ID? używając spójników logicznych AND?
temperator
umiem zrobic tak ze wyciągam z bazy np samą nazwe ale wtedy pokazuje mi wszystkie nazwy a jak chce wyciągnąć każda z osobna.
może mi to ktoś napisać.
Boshi
To są podstawy języka SQL...

  1. SELECT Nazwa FROM Tabela WHERE ID=1 OR ID=2...)
temperator
tak wiem ze to podstawy ale nie ma nigdzie w internecie pokazanego na jakimś przykładzie całego kodu więc pisze tutaj może mi ktoś pomoże i pokaże jak to zrobić.
Boshi
No przecież ci napisałem jak ma zapytanie wyglądać? I prawdiłowo, że nie ma całego kodu, bo potem wszyscy kopiują i przylatują z pierdołą czemu nie działa, a okazuje się, że nazwa zmiennej jest z wielkiej litery zamiast z małej...
temperator
to tak ma to wyglądać?

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7.  
  8. <?php
  9.  
  10. $pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
  11. $result = $pdo -> query('SELECT Nazwa FROM Tabela WHERE ID=1 OR ID=2') -> fetch();
  12.  
  13. foreach($result as $key => $value)
  14. {
  15. echo $value
  16. }
  17. ?>
  18.  
  19. </body>
  20. </html>
Boshi
Nie wiem co Ty chcesz wykonać, na razię widzę, że kopiujesz bez sensu mój kod, nie zmieniając nawet nazwy tabeli oraz ID.

Powiedz po prostu co chcesz osiągnąć prostymi słowami.
temperator
chcę wyciągnąć z bazy danych i pokazać na stronie php jedną nazwę np mając w bazie takie dane to chce wyciągnąć tylko słowo Komputer z ID 3

id nazwa
1 Rower
2 Dom
3 Komputer
4 Wiosna
Boshi
I już jest jaśniej smile.gif

  1. ('Select Nazwa From Tabela where Id=3')


  1. $stmt=$pdo->query ('Select Nazwa From Tabela where Id=3');
  2.  
  3.  
  4. $result=$stmt->fetch();
  5. if ($result)
  6. echo $result['Nazwa'];


Oczywiście dane u ciebie są inne poniektóre.. poczytaj o SQL.
temperator
więc czy prawidłowy kod bedzie tak wygladać ?
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7.  
  8. <?php
  9.  
  10. $pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
  11. $stmt=$pdo->query ('Select Nazwa From Tabela where Id=3');
  12.  
  13. $result=$stmt->fetch();
  14. if ($result)
  15. echo $result['Nazwa'];
  16.  
  17. ?>
  18.  
  19. </body>
  20. </html>


kod pokazuje mi już nazwę z określonego ID w tym wypadku jest to 3

mam plik in.php w którym mam pokazać każda nazwę z osobna


  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <?php co tu będzie? ?>
  8. <?php co tu będzie? ?>
  9. <?php co tu będzie? ?>
  10. <?php co tu będzie? ?>
  11.  
  12. </body>
  13. </html>

jaki mam umieścić kod w php żeby to zrobić?
com
Boshi jak już to się robi IN to sa podstawy, a nie OR tongue.gif
No to dal tego przykładu:
  1. SELECT nazwa FROM tabela WHERE id=3


a jak bd potrzeba więcej rekordów to zmieniasz id w pętli smile.gif
temperator
rozumiem tylko że ja chcę pokazać różne nazwy z id
np
Imię: <?php co tu będzie? ?>
Nazwisko: <?php co tu będzie? ?>

zez łączenia sie z bazą danych bo to by robił kod wcześniej
com
nie tak w pliku ad:
  1. <?php
  2. $pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
  3. $result = $pdo->query('SELECT nazwa FROM autor WHERE id IN(1,2,3,4');
  4. $rows = $result->fetchAll(PDO::FETCH_COLUMN, 0);

w pliku in

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <?php
  8. include('ad.php');
  9. foreach($rows as $value)
  10. echo <<<html
  11. <div>$value</div>
  12. html;
  13. ?>
  14.  
  15. </body>
  16. </html>
temperator
zrobiłem tak

ad.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7.  
  8. <?php
  9.  
  10. $pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
  11. $result = $pdo->query('SELECT nazwa FROM autor WHERE id IN(1,2,3,4');
  12. $rows = $result->fetchAll(PDO::FETCH_COLUMN, 0);
  13.  
  14. $result=$stmt->fetch();
  15. if ($result)
  16. echo $result['Nazwa'];
  17.  
  18. ?>
  19.  
  20. </body>
  21. </html>


in.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type"
  4. content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <?php
  8. include('ad.php');
  9. foreach($rows as $value)
  10. echo <<<html
  11. <div>$value</div>
  12. html;
  13. ?>
  14.  
  15. </body>
  16. </html>


i nie działa bo plik in.php pokazuje błąd na lini 16 a plik ad.php pokazuje błąd na lini 12
chciałbym aby ad.php łączył się z bazą a plik in.php wyświetlał w różnych miejscach różne słowa na stronie pod postacia np nie

Imię: Daniel
tylko
Imię: <?php jakiś kod ?> i tutaj ma pobierać z bazy to imię.
com
dostałeś rozwiązanie, zrobiłeś po swojemu poco? nie tak tylko w ad ma być sam php taki jaki Ci podałem, bo to nie ma sensu. masz w tej tabelce wgl pole nazwa? i nie robisz wcieć kod miał być taki jak przesłałem
Boshi
Ta IN, na szybko pisałem i wpadło mi Or do głowy ;D
temperator
no dobra dodałem jak mówisz i nadal błąd.


chciałbym aby w pliku in była np podobna struktura jak tutaj. znalazłem ten kod w niecie kiedyś. nie chcę aby to co się wyświetlało w ad.php przenosić do in.php chce aby ad.php łączyło się z baza a in.php pokazywało to w podobny sposób.
  1. Imię: <?php echo $data['2']; ?>
Boshi
Matko, to przeklej kod z ad do in odpwowiadający za wyświetlanie i pobieranie wyników a w ad zostaw tylko łączenie się z bazą.. co za problem? po drugie mam wrażenie, że nie znasz podstaw php ani mysql, więc polecam jakiś kurs...
temperator
nie potrafie tego zrobić.
czy zrobi mi to ktoś?

poradziłem sobie w inny sposób i działa tak jak chciałem każde słowo wyciągnięte w różne DIV-y
temat zamykam
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.