Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: proste szukanie w tablicach MySQL ?
Forum PHP.pl > Forum > Przedszkole
AliGie
Pytanie może naiwne ale zaklopsiłam się w temacie...

Mam dwie tablice. "TabAA" jest tabelą główną i "TabBB" która ma zapisany "IdUczna" potem "Imie" potem "Nazwisko" potem "Uwagi".

Zrobiłam taką strukturę tabeli wynikowej na stronie WWW. Potrzebuję tylko mieć kasowanie rekordów z tabeli "TabAA". Nie wiem jak dołożyć (tak tylko bay było widać) dane z tabeli"TabBB" określające Imię, Nazwisko i Uwagi (na podstawie IdUcznia.

=================
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <HTML>
  3. <HEAD>
  4. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  5. <TITLE>Czytanie z bazy danych</TITLE>
  6.  
  7. </HEAD>
  8. <STYLE TYPE="text/css">
  9. table {
  10. font-family: Arial, Helvetica, sans-serif;
  11. font-size: 14px;
  12. }body {
  13. background: #EDEDD7 url(file: AmenuBo_10.jpg);
  14. }
  15.  
  16.  :link { color: #077107 }
  17.  :visited { color: #077107 }
  18.  :active { color: #FFFF40 }
  19.  
  20. </STYLE>
  21.  
  22.  
  23.  
  24. <?php
  25.  
  26. mysql_connect ("127.0.0.1", "root", "krasnal") or 
  27. die ("Nie można poł&plusmn;czyć się z MySQL");
  28. mysql_select_db ("TabAA") or 
  29. die ("Nie można poł&plusmn;czyć się z baz&plusmn; DANYCH");
  30.  
  31. if ($co == 'dodaj') { // dodawanie rekordu
  32. if ($IdUcznia && $UwagaGL && $KtoWpisal && $DataAA && $DataBB) { 
  33. $query = "INSERT INTO harcerze (Nr, IdUcznia, ";
  34. $query .= "UwagaGL, KtoWpisal, DataAA, DataBB) VALUES ('', '$IdUcznia', '$UwagaGL', '$KtoWpisal', '$DataAA', '$DataBB');";
  35. $wynik = mysql_query ($query);
  36. }
  37. } elseif ($co == 'skasuj') { // kasowanie
  38. $wynik = mysql_query 
  39.  ("DELETE FROM harcerze WHERE Nr = '$id';");
  40. }
  41.  
  42. $wynik = mysql_query ("SELECT * FROM harcerze WHERE KtoWpisal = 'SB' or KtoWpisal = 'ZB' ORDER BY IdUcznia;") or 
  43. die ("bł&plusmn;d w pytaniu");
  44.  
  45.  
  46.  
  47.  print '<HR><BR> <b>Usuwanie WPISÓW !!!!!</b><BR><BR>';
  48.  
  49.  
  50. print "<TABLE CELLSPACING=0 CELLPADDING=1 BORDER=1 WIDTH=70%>"; print "<TR><TD><B>Nr żurawia</B></TD><TD><B>Miejsce pracy i ew. uwagi</B></TD><TD><B>Data od:</B></TD><TD><B>Data do do:</B></TD>";
  51.  
  52. print "<TD><B>Kto wystawił</B></TD><TD></TD></TR>\n";
  53.  
  54. while ($rekord = mysql_fetch_array ($wynik)) {
  55. $id = $rekord[0];
  56. $IdUcznia = $rekord[1];
  57. $DataAA = $rekord[4];
  58. $DataBB = $rekord[5];
  59. $KtoWpisal = $rekord[6];
  60. $UwagaGL = $rekord[7];
  61.  
  62. print "<TR><TD align=center>$IdUcznia</TD><TD>$UwagaGL</TD><TD>$DataAA</TD><TD>$DataBB</TD><TD align=center>$KtoWpisal</TD><TD align=center>";
  63. print "<A HREF=\"indexSB.php?co=skasuj&id=$id\">skasuj</A></TD></TR>\n";
  64. }
  65. print "</TABLE>";
  66.  
  67. ?>
  68.  
  69.  
  70. </BODY>
  71. </HTML> 

=================

Pozdrawiam i dzięki [nie denerwujcie się na mnie :-) ]


Alina

alina.giers@wp.pl


__
Prosze uzywac BBcode.
Proponowalbym tez rejestrację na forum - przydaje się.
ActivePlayer
Foxx
Po pierwsze - sformatuj ten kod bo nic nie widać.
Po drugie piszesz o tabeli tabAA ale ja nie widzę takiej w kodzie, może chodzi o "harcerze" ? Jeżeli dobrze zrozumiałem to Twoje zapytanie:
  1. <?php
  2.  
  3. $wynik = mysql_query ("SELECT * FROM harcerze WHERE KtoWpisal = 'SB' or KtoWpisal = 'ZB' ORDER BY IdUcznia;")
  4.  
  5. ?>

Powinno wyglądać mniej więcej tak:
  1. SELECT a.id, a.iducznia, ... , b.imie, b.nazwisko, b.uwagi
  2. FROM harcerze
  3. AS a, tabBB AS b
  4. WHERE a.iducznia=b.id AND (KtoWpisal='SB' OR KtoWpisal='ZB')
  5. ORDER BY IdUcznia;
AliGie
Dzięki Ci za podpowiedź. Przeanalizowałam Twój kod oraz swoje błędy. Poprawiłam istniejący bałagan, dopisałam co trzeba -- i wszystko działa.
Czasem najgorsze są podstawy (trudno znaleźć pomoc, a później już jakoś idzie).
Teraz zastanawiam się jak duży wpływ na szybkość wyszukiwania z dwóch tabel ma wartość "PRIMARY" dla kolumn najważniejszych we wzajemnej relacji(tabela1.kolumnaWazna=tabela2.kolumnaRownieWazna).

Jeszcze raz serdeczne dzięki.

alina.giers@wp.pl
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.