Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytaniem php do bazy jako wybor opcji formularza, Nie moge dosc do tego gdzie mam blad
Dafidov
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.07.2005
Skąd: Śląsk Bytom

Ostrzeżenie: (0%)
-----


Witam Wszystkich.
Od wczoraj się grzebie szukam i szukam i jakoś znaleść nie mogę ani u siebie w kodzie ani na forum odpowiedzi jak rozwiązać mój problem.
Piszę baza w której mam stuudentów pracowników przedmioty itd coś ala elektroniczny indeks, tablica ogłoszeń.
Chce zrobic sobie ładnego selecta który będzie mi z jednej tabeli pobierał dane jako opcje do wyboru i ciągle wyrzuca mi ale pustą liste select otion.
Oto kod:
Kod
tytuł naukowy: <select name="tytul_naukowy">
<?php
$querry = "select skrot from tytul_naukowy where skrot like '%'";
$result = mysql_querry($querry);

while ($row = mysql_fetch_array($result))  {
$tytul = $row['tytul'];
?>
<option value="<?php echo"$tytul"; ?>"><? echo"imie"; ?></option>
<?php } ?>
</select>

Mam w bazie tabele tytul_naukowy z polami id skrot nazwa i chce zeby w liscie select mozna bylo wybrac jedne ze skrotwo typu:
mgr inż dr prof.
Nie wiem czy błąd jest w konstrukcji zapytania w php czy w samym mysql.

Proszę o pomoc i rade jak napisać takiego prawidłowego selecta, który będzie z bazy generował mi listę wyboru.


Drugi problem jest nieco bardziej skomplikowany i też jest bardziej z Mysql niż z php ale też nie wiem jak napisać parwidłowo formułe w php żeby moć wpisując tego naszego pracownika, któremu chcę dodawać tytuł naukowy, dodać pole adres które jest kluczem obcym odwolujadej sie do tabeli adres.
Tabela pracownika ma takie pola:
id, id_grupa, imie, nazwisko, username, haslo, id_adres.
Klucz glowny to id.
Klucze obce to id_grupa i id_adres.
Tabela adres ma takie parametry:
id id_user ulica nr domu miejscowosc itd
Jak napisac formularz zeby dodawac pracownika w taki sposb zeby mozna bylo od razu wpisac jego adres? Czy da sie to zrobic i jesli tak to prosze o podopwoiedz.
Z gory dziekuje.
Mam nadzieje iz moj opis jest dosc scisly...
Pracuje na Mysql 5 i php 5
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dafidov
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.07.2005
Skąd: Śląsk Bytom

Ostrzeżenie: (0%)
-----


Poczytałem troszkę w manualu i niestety nasuwa mi się więcej pytań niż znam znalazłem odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Po pierwsze:
Jak wstawić w php wspomniany (BEGIN) ? Swoją drogą jak oglądałem manuala php to znalazłem tylko tyle że w zasadzie jest coś takiego w fazie testowej i wygląda to tak:
Dla begin tansaction
  1. <?php
  2. /* Begin a transaction, turning off autocommit */
  3. $dbh->beginTransaction();
  4.  
  5. /* Change the database schema */
  6. $sth = $dbh->exec("DROP TABLE fruit");
  7.  
  8. /* Commit the changes */
  9. $dbh->commit();
  10.  
  11. /* Database connection is now back in autocommit mode */
  12. ?>

Dla Commit
  1. <?php
  2. /* Begin a transaction, turning off autocommit */
  3. $dbh->beginTransaction();
  4.  
  5. /* Change the database schema */
  6. $sth = $dbh->exec("DROP TABLE fruit");
  7.  
  8. /* Commit the changes */
  9. $dbh->commit();
  10.  
  11. /* Database connection is now back in autocommit mode */
  12. ?>

Dla rollback
  1.  
  2. <?php
  3. /* Begin a transaction, turning off autocommit */
  4. $dbh->beginTransaction();
  5.  
  6. /* Change the database schema and data */
  7. $sth = $dbh->exec("DROP TABLE fruit");
  8. $sth = $dbh->exec("UPDATE dessert
  9.  SET name = 'hamburger'");
  10.  
  11. /* Recognize mistake and roll back changes */
  12. $dbh->rollBack();
  13.  
  14. /* Database connection is now back in autocommit mode */
  15. ?>

Co zrobic jesli sie nie stosuje obiektow? I wogole jak to wykorzystac tzn zapetlic zeby wykonywalo sie query i konczylo commitem jak jest ok lub konczylo rollbackiem jak jest blad ?

Druga kwestia to taka ze znalazlem funkcje mysqli ktora niejako klopot rozwiazuje:
  1. <?php
  2. $link = mysqli_connect("localhost", "my_user", "my_password", "world");
  3.  
  4. /* check connection */
  5. if (mysqli_connect_errno()) {
  6.  printf("Connect failed: %s\n", mysqli_connect_error());
  7.  exit();
  8. }
  9.  
  10. /* disable autocommit */
  11. mysqli_autocommit($link, FALSE);
  12.  
  13. mysqli_query($link, "CREATE TABLE myCity LIKE City");
  14. mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
  15. mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");
  16.  
  17. /* commit insert */
  18. mysqli_commit($link);
  19.  
  20. /* delete all rows */
  21. mysqli_query($link, "DELETE FROM myCity");
  22.  
  23. if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
  24.  $row = mysqli_fetch_row($result);
  25.  printf("%d rows in table myCity.\n", $row[0]);
  26.  /* Free result */
  27.  mysqli_free_result($result);
  28. }
  29.  
  30. /* Rollback */
  31. mysqli_rollback($link);
  32.  
  33. if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
  34.  $row = mysqli_fetch_row($result);
  35.  printf("%d rows in table myCity (after rollback).\n", $row[0]);
  36.  /* Free result */
  37.  mysqli_free_result($result);
  38. }
  39.  
  40. /* Drop table myCity */
  41. mysqli_query($link, "DROP TABLE myCity");
  42.  
  43. mysqli_close($link);
  44. ?>

Tylko co zrobic gdy nie dysponuje sie nowsza wersja mysqla i php? Lub gdy na serwerze nie ma obslugi biblioteki mysqli ?
Jednym slowy:

Jak w php wstawic rozpoczecie sesji i opcje coomit gdy uda sie zapytanie i roolback gdy sie nie uda ?
Go to the top of the page
+Quote Post

Posty w temacie
- Dafidov   Zapytaniem php do bazy jako wybor opcji formularza   25.03.2006, 18:36:36
- - nospor   mysql_querry - nie ma takiej funkcji jest: mysql...   25.03.2006, 18:54:36
- - Dafidov   Lepszp rydz niż nic jak to mówią. Query działa - d...   25.03.2006, 22:23:31
- - kanan   Jesli adres jest kluczem obcym, to by bylo mozliwe...   26.03.2006, 15:09:09
- - Dafidov   Czyli jak to zrobic? Najpierw musze utworzyc w for...   26.03.2006, 15:22:56
- - kanan   Nie rozumiem jednego, w jakim aspekcie uzywasz adr...   26.03.2006, 16:32:59
- - Dafidov   Baza ktora tworze posiada tabele adres, do ktorej ...   26.03.2006, 17:01:24
- - nospor   W formularzu podajesz wszystkie dane: adres i prac...   26.03.2006, 17:10:31
- - Dafidov   Zaczytałem się w manualu php No to jest pewna nie...   26.03.2006, 18:12:59
- - nospor   LAST_INSERT_ID zwraca ci ostatnio dodane id do baz...   26.03.2006, 18:58:30
- - Dafidov   Troche mi to czasu zajelo ale niestety wywala mi b...   26.03.2006, 21:10:23
- - nospor   nasze niedopatrzenie. nie : LAST_INSERT_ID a: LAS...   26.03.2006, 21:14:04
- - Dafidov   Chyba się sam juz URATOWAŁEM Przyspałem że ma być...   26.03.2006, 21:19:14
- - nospor   ja bym ci proponowal stworzyc tablicę mapującą. mo...   26.03.2006, 21:25:36
- - Dafidov   Myśle że przenosin to już wystarczy jak na jeden t...   26.03.2006, 21:41:09
- - nospor   CytatMyśle że przenosin to już wystarczy jak na je...   26.03.2006, 21:50:03
- - Dafidov   No to trzeba bedzie poszperac troche No ale jak j...   26.03.2006, 23:25:36
- - nospor   To się nazywa tranzakcje: http://dev.mysql.com/doc...   27.03.2006, 08:35:44
- - Dafidov   Poczytałem troszkę w manualu i niestety nasuwa mi ...   27.03.2006, 21:08:18
- - nospor   begin, commit i rollback to zwykle zapytania mysql...   27.03.2006, 22:11:04
- - Dafidov   Dziekuje za pomoc. Z tym klopotem juz sobie poradz...   29.03.2006, 08:52:27


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 09:33