Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z połączeniem mysql z php
Forum PHP.pl > Forum > PHP
tenetos
Postaram się mój problem przedstawić jak najlepiej.

Mam założoną bazę danych powiedzmy "x" i w niej tabele "y" i "z".

Teraz chciałem poprzez strone php o powiedzmy nawie 1 napisać linki to strony powiedzmy 2 tak aby każdy link wyświetlał tylko jedną wcześniej określoną babele.

Przykład:

Powiezmy klkilam na stroni 1 link pierwszy a on wyświetla mi na stronie 2 wartość "y", oraz klikając na stronie 1 na likn drugi wyświetlane było na stronie 2 wartość tabeli "z", korzystając z bazy "x".


Nie wiem jak się za to zabrać i mam nadzieję, że ktoś mi pomoże. jeśli chcecie to piszcie na meila. tenetos@interia.pl
Kuziu
Polecam na początek kursy php + MySQL bez podstawowej wiedzy co 1 krok będziesz wpadał na Forum. A tutaj przecież nie chodzi o danie Ci gotowego rozwiazania a o pomoc w jakimś konkretnymprzypadku gdy coś robisz a CI nie wychodzi.

Będziesz musiał skorzystać z przekazywania zmiennych zapomocą adresu

adres.php?zmienna=wartosc

odbierać je
  1. <?php
  2.  
  3. $_GET['zmienna']; // Odda wartosc przekazana powyzej w adresie
  4.  
  5. ?>


Łączenie z bazą MySQL to naprawde podstawa 1 lepszy kurs...
tenetos
na samym początku dzięki za pomoc właśnie miałem zrobić to podobnie ale nie wiedziałem jak się za to zabrać. Nastepnie jak masz jakieś ciekawe stronki lub materiały to mozesz przesła. Masz również race że jestem początkującym i wielkie dzięki za pomoc, ale prosze cię naie naskakuj tak zaraz na mnie. Jestem nowicjusze, dopiero się ucze, dodatkowo jestem pierwszy raz zalogowany na tym forum a twój post jej moim pierwszym moste w życiu więc troche szacynku.


Poza tym coś mi nie działa zrobiłem tak jak napisałeś w pierwszym pliku dałem
<a href="oceny.php ? zmienna=konkretny tekst"

a w drugim pliku wpisałem
$_get ['ten tekst'];
oraz
$db_table = ($_get);


czy tak może być??
Momo to nie działa nadal.
Kuziu
Nic nie naskakuję poprostu najpierw poczytaj później pytaj. I Tobie szybciej pojdzie bo nie bedziesz czekał na odpowiedź a przeczytasz wszystko naraz i my nie będziemy musieli odpisywać na podstawy.

Tak btw używaj BBCode do zaznaczania HTML'a i php

  1. <a href="plik.php?zmienna=mojtekst">Link</a>


plik.php
  1. <?php
  2.  
  3. echo($_GET['zmienna']);
  4.  
  5. ?>


A jak się troszkę rozejrzysz to znajdziesz i kursy na tym forum http://forum.php.pl/index.php?showtopic=12816
tenetos
a moge zamiast zmiennej $_get dać inną zmienną. Poza tym spoko.

Ciesze się że mi pomagasz.
Kuziu
$_GET to tablica zmiennych które są przekazywane w adresie.

Więc chcąc ją pobrać musisz jej użyć
możesz ewentualnie ją przepisać do innej
  1. <?php
  2. $mojaZmienna = $_GET['zmienna'];
  3. ?>

Ale nie widzę powodu
tenetos
niby wszystko ok za to w innej części wystakuje mi napisz

Warning: mysql_num_rows(): supplied arguments is not a valid MySQL result resource.

Troche się już w tym gubie

to jest akurak miejsce które odwołuje się do tej zmienne którą mi podałeś. wcześniej jak ten parametr był wpisany ręcznie to dzialało ale wiadomo nie mogłem bez ingerencji w kodzie nie mogłem zmieniać tabel. teraz to już mi nawet to nie działa.
Levabul
Podany błąd wyświetla się gdy nie ma utworzonego połączenia z bazą bądź zapytanie do bazy jest niepoprawne. Pokaż kod.
tenetos
Podaje cały skrypt. pbłęcy wywoływane są tylko w odwołaniach no tak jak pisałem


błędey pojawiają się w liniach 86, 103, 120, 136, 152, 168, 184, 200

Wcześniej zastosowałem tak jak w pierwszysch postach porady.

Problem wynika główne z linii 14 ale nie wiem jak to obejść.
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  4. <META HTTP-EQUIV="Content-Language" CONTENT="pl">
  5. <META NAME="Author" CONTENT="Mirek">
  6. </HEAD>
  7. <BODY BGCOLOR="#C0C0C0">
  8. <?php
  9. $db_host = 'localhost';
  10. $db_user = 'root';
  11. $db_pass = 'krasnal';
  12. $db_name = 'praca';
  13. $db_table = $_get['when'];
  14. //starałem się również wpisać echo($db_table['when']); ale też nie działa
  15. @$connect = mysql_pconnect($db_host, $db_user, $db_pass);
  16. $select = mysql_select_db($db_name);
  17.  
  18. if ( ! $select)
  19. {
  20. echo "<br><br>wystąpił błąd";
  21.  
  22. }
  23.  
  24.  
  25. if ( !@mysql_select_db($db_name))
  26. { echo "<br><br>baza nie dziala";
  27. }
  28.  
  29.  
  30.  
  31. ?>
  32. <table border="0" width="100%">
  33.  <tr>
  34. <td bgcolor="#F0F0FF"><img src="znak.gif"></TD>
  35.  <td colspan="2" bgcolor="#F0F0FF"><b><h2>Zespół Szkół Elektryczno-Elektroniczne 
  36.  im. Marii Curie Skłodowskiej</H2></B></TD> 
  37. </TR>
  38.  
  39. <tr>
  40. <td>
  41. <b>Przedmioty:</B><br>
  42. Polski
  43.  <form action="potwie.php" method="post">
  44. <input TYPE="text" name="polski">
  45. <input TYPE="submit" value="Zapisz">
  46. <br>
  47.  
  48. Matematyka <br>
  49. <form action="potwie.php" method="post">
  50.  <input TYPE="text" name="mata">
  51.  <input TYPE="submit" value="Zapisz"><br>
  52. Historia <br>
  53. <form action="potwie.php" method="post">
  54.  <input TYPE="text" name="hista">
  55.  <input TYPE="submit" value="Zapisz"><br>
  56. Wiedza o społeczeństwie <br>
  57. <form action="potwie.php" method="post">
  58.  <input TYPE="text" name="wos">
  59.  <input TYPE="submit" value="Zapisz"><br>
  60. Urządzenia <br>
  61. <form action="potwie.php" method="post">
  62.  <input TYPE="text" name="urzadz">
  63.  <input TYPE="submit" value="Zapisz"><br> 
  64. Pracownia <br>
  65. <form action="potwie.php" method="post">
  66. <input TYPE="text" name="pracow">
  67. <input TYPE="submit" value="Zapisz"><br>
  68. Rosyjski <br>
  69. <form action="potwie.php" method="post">
  70.  <input TYPE="text" name="ruski">
  71. <input TYPE="submit" value="Zapisz"><br>
  72. Automatyka <br>
  73. <form action="potwie.php" method="post">
  74.  <input TYPE="text" name="automat">
  75. <input TYPE="submit" value="Zapisz"><br>
  76. </TD>
  77. <td bgcolor="B0B0FF" WIDTH="35%" HEIGHT="100%">
  78. <b>Oceny:</B><br>
  79. Polski:<br>
  80. <?php
  81.  
  82. $query = "select * from $db_table"; 
  83. $result = mysql_query($query);
  84. $num_results = mysql_num_rows($result);
  85.  
  86.  
  87. for ($i=0; $i <$num_results; $i++) {
  88. $row = mysql_fetch_array($result);
  89. print " ";
  90. print stripslashes($row["polski"]);
  91.  
  92.  
  93. }
  94. ?>
  95. <br>
  96. Matematyka: <br>
  97. <?php
  98.  
  99. $query = "select * from $db_table"; 
  100. $result = mysql_query($query);
  101. $num_results = mysql_num_rows($result);
  102.  
  103.  
  104. for ($i=0; $i <$num_results; $i++) {
  105. $row = mysql_fetch_array($result);
  106. print " ";
  107. print stripslashes($row["mata"]);
  108.  
  109. }
  110. ?>
  111. <BR>
  112.  
  113. Historia: <br>
  114. <?php
  115.  
  116. $query = "select * from $db_table"; 
  117. $result = mysql_query($query);
  118. $num_results = mysql_num_rows($result);
  119.  
  120.  
  121. for ($i=0; $i <$num_results; $i++) {
  122. $row = mysql_fetch_array($result);
  123. print " ";
  124. print stripslashes($row["hista"]);
  125.  
  126. }
  127. ?>
  128. <br>
  129. Wiedza o społeczeństwie: <br>
  130. <?php
  131.  
  132. $query = "select * from $db_table"; 
  133. $result = mysql_query($query);
  134. $num_results = mysql_num_rows($result);
  135.  
  136.  
  137. for ($i=0; $i <$num_results; $i++) {
  138. $row = mysql_fetch_array($result); 
  139. print " ";  
  140. print stripslashes($row["wos"]);
  141.  
  142. }
  143. ?>
  144. <br>
  145. Urządzenia: <br> 
  146. <?php
  147.  
  148. $query = "select * from $db_table"; 
  149. $result = mysql_query($query);
  150. $num_results = mysql_num_rows($result);
  151.  
  152.  
  153. for ($i=0; $i <$num_results; $i++) {
  154. $row = mysql_fetch_array($result);
  155. print " ";
  156. print stripslashes($row["urza"]);
  157.  
  158. }
  159. ?>
  160. <br>
  161. Pracownia: <br>
  162. <?php
  163.  
  164. $query = "select * from $db_table"; 
  165. $result = mysql_query($query);
  166. $num_results = mysql_num_rows($result);
  167.  
  168.  
  169. for ($i=0; $i <$num_results; $i++) {
  170. $row = mysql_fetch_array($result);
  171. print " ";
  172. print stripslashes($row["pracow"]);
  173.  
  174. }
  175. ?>
  176. <br>
  177. Rosyjski: <br>
  178. <?php
  179.  
  180. $query = "select * from $db_table"; 
  181. $result = mysql_query($query);
  182. $num_results = mysql_num_rows($result);
  183.  
  184.  
  185. for ($i=0; $i <$num_results; $i++) {
  186. $row = mysql_fetch_array($result); 
  187. print " ";  
  188. print stripslashes($row["ruski"]);
  189.  
  190. }
  191. ?>
  192. <br>
  193. Automatyka: <br>
  194. <?php
  195.  
  196. $query = "select * from $db_table"; 
  197. $result = mysql_query($query);
  198. $num_results = mysql_num_rows($result);
  199.  
  200.  
  201. for ($i=0; $i <$num_results; $i++) {
  202. $row = mysql_fetch_array($result);
  203. print " ";
  204. print stripslashes($row["automatyk"]);
  205.  
  206.  
  207. }
  208. ?>
  209. </TD>
  210. <td>
  211.  
  212. <form method="post" action="info.txt">
  213. Nazwisko: <input TYPE="text" name="nazwisko" value="<? echo $nazwisko; ?>"><br>
  214. Adres e-mail: <input TYPE="text" name="emial" value="<? echo $email; ?>"><br>
  215. <textarea rows="10" name="info" value="<? echo $tekst; ?>"></TEXTAREA><br>
  216. <input type="submit" value="wyślij"><br>
  217. </form>
  218.  
  219. <?php
  220. if(file_exists("info.txt")) 
  221. /* sprawdza, czy plik istnieje */
  222.  
  223. { $file=fopen("info.txt", "a+"); 
  224. /* otwiera plik */
  225.  
  226. flock($file, 1); 
  227. /* blokuje plik */
  228.  
  229. $ile=fgets($file, 100); 
  230. /* odczytuje wartość */
  231.  
  232. flock($file, 3); 
  233. /* odblokowuje plik */
  234.  
  235. fclose($file); 
  236. /* zamyka plik */
  237.  
  238. $ile++; 
  239. /* zwiększa wartość o 1 */
  240. }
  241. else
  242. $ile=1; 
  243. /* jeśli plik nie istnieje, wyświetli się 1 */
  244.  
  245. $file=fopen("info.txt", "a+"); 
  246. /* otwiera plik do zapisu */
  247.  
  248. flock($file, 2); 
  249. /* blokuje do zapisu */
  250.  
  251. fwrite($file, $ile, $nazwisko, $email, $tekst); 
  252. /* zapisuje wartość */
  253.  
  254. flock($file, 3); 
  255. /* odblokowuje plik */
  256.  
  257. fclose($file); 
  258. /* zamyka plik */
  259.  
  260.  
  261.  
  262.  
  263.  
  264. ?>
  265.  
  266. </TD>
  267.  
  268. </TR>
  269.  
  270. <tr>
  271. <td>7</TD>
  272. <td>8</TD>
  273. <td>9</TD>
  274.  
  275. </TR>
  276.  
  277. <tr>
  278. <td>10</td>
  279. <td>11</TD>
  280. <td>12</TD>
  281. </TR>
  282.  
  283.  
  284.  
  285.  
  286.  
  287. </TABLE>
  288.  
  289.  
  290.  
  291.  
  292. </BODY>
  293. </HTML>
Kuziu
Na drobny poczatek

$_get ->>> $_GET

Pisałem Ci przecież wcześniej dużymi


Po 2 niezbyt bezpieczne jest wpisywanie do zapytania zmiennej z adresu URL lepiej sprawdzić czy ktoś do niej coś nie dopisał.

A 300 linii kodu nie bardzo chce mi się czytać
tenetos
no przecież wyszczególniłem ci konkretnie które linie nie pasują nie musisz wszystkiego czytać, nawet tego od ciebie nie wymagam. Przecież dokładnie podałem.
Kuziu
No a ja Ci podałem przyczynę

Wszystkie w których są zapytania bo nie masz tabeli wybranej

$_get nic Ci z adresu nei pobierze musisz użyć $_GET

a $db_table to Twoja tabela w MySQL u więc przypisz coś do niej albo podaj ją w adresie
tenetos
no super jesteś genialny. MAtko ty to wymyśliłeś w ciągu dosławnie kilku chwil a ja się już dość długo nad tym męcze.


Wielkie dzięki za pomoc.

Jeszcze jedno male pytanko. jeśli miałbym wygrać do której tabeli chce wstawione wartości wpisać to miałbym zrobić tak samo, czy radziłbyś zrobić coś innego.

Wydaje mi się że chyba coś podobnego bo też musi być wczytane z jakiego pola tekstowego zostało to wpisane i wysłać do odpowiedniej tabeli.

bo widzisz z tego wcześniejszego pliku gdzie następuje wysyłanie wpisanej liczny ona wędruje do pliku potwierdzającego
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  4. <META HTTP-EQUIV="Content-Language" CONTENT="pl">
  5. <META NAME="Author" CONTENT="Mirek">
  6. </HEAD>
  7. <BODY BGCOLOR="#C0C0C0">
  8. Wpisano ocenę w bazie
  9.  
  10.  
  11.  
  12. <?php
  13. $db_host = 'localhost';
  14. $db_user = 'root';
  15. $db_pass = 'krasnal';
  16. $db_name = 'praca';
  17. $db_table = 'przedmioty';
  18.  
  19. @$connect = mysql_pconnect($db_host, $db_user, $db_pass);
  20. $select = mysql_select_db($db_name);
  21.  $query = "insert into $db_table values 
  22.  (null, '$polski', '$mata', '$hista', '$wos', '$urzadz', '$pracow', '$ruski', '$automat')";
  23.  $result = mysql_query($query);
  24.  
  25.  
  26.  echo $polski;
  27.  echo $mata;
  28.  echo $hista;
  29.  echo $wos;
  30.  echo $urzadz;
  31.  echo $pracow;
  32.  echo $ruski;
  33.  echo $automat;
  34.  
  35.  
  36.  
  37.  
  38. ?>
  39. <form action="uczniowie.php" method="post"> 
  40. <input type="submit" name="wejście" value="ok">
  41. </body>
  42. </html>



Problem jest wydaje mi się w lini 18 znów przy wyborze tabeli.




Ale już za to ci jestem bardzo wdzięczny co mi pomogłeś.
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.