Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]problemy z zapytaniami.
Forum PHP.pl > Forum > Przedszkole
Glukozamina
Mam sobie rejestracje nastepnie skrypt wyswietlajacy mi uzytkownikow i chce sobie zrobic taki panel admina czyli miec mozliwosc usuwania uzytkownikow z poziomu php.

  1. <?php
  2. /*Nawiązanie połączenia z bazą*/
  3.  
  4.   if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "xxxxxxxxxx", "xxxxxxxx")){
  5.    echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  6.    return;
  7.   }
  8.  
  9.   if(!@mysql_select_db('xxxxxxxxxxx')){
  10.    echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  11.    @mysql_close();
  12.    return;
  13.   }
  14.  
  15. /*sortowanie*/
  16.  
  17. $sort='id DESC';
  18.  
  19.    if(isSet($_GET['sortid'])){
  20.    switch($_GET['sortid']){
  21.   case 1: $sort='tresc ASC'; break;
  22.    case 2: $sort='nick ASC'; break;
  23.    case 3: $sort='czas DESC'; break;
  24.  
  25.    default: $sort = 'id DESC'; break;
  26.  
  27.    }
  28.    }
  29.  
  30.  $query = "SELECT * FROM Users ORDER BY '.$sort.'";
  31.  
  32.   $query = "DELETE FROM Users WHERE id='".$_GET['id']."'"; 
  33.  
  34.  
  35. if(!$result = mysql_query($query, $db_lnk)){
  36.   echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
  37.   @mysql_close();
  38.   exit;
  39. }
  40.  
  41.  
  42. $iler=mysql_fetch_array(mysql_query('SELECT count(*) as liczba FROM Users'));
  43.  
  44. $iler["liczba"];
  45.  
  46.  
  47.  
  48. ?>
  49.  
  50. <center>
  51.  
  52.   <table width="250" border="1">
  53. <tr bgcolor="#800000"><td><center><b>Lp.</b></center></td><td><b><center>Email</center></b></td>
  54. <td><b><center>Imie</center></b></td><td><b><center>Nick</b></center></td></tr>
  55. <?php
  56.  
  57.  
  58. $i = 0;
  59.  
  60. while($i < $iler["liczba"]){
  61. echo("<br>");
  62. $i++;
  63.  
  64. while($row = mysql_fetch_row($result)){
  65.  
  66. echo' <tr>
  67.   <td>'.$i++.'</td>
  68.   <td><b><center>'.$row[5].'<A HREF="index.php?action=del&id=".$row[0].'>usun uzytkownika</A></center> </td>
  69.   <td><b><center> '.$row[3].' </center></td>
  70.   <td><b><center> '.$row[1].'</center></td>
  71.   </tr>';
  72.    
  73. }
  74. }
  75.  
  76. ?>
  77.  
  78. </table></center>
  79.  
  80. <?php
  81. if(!@mysql_close()){
  82.   echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>);
  83. }
  84. ?>


Jezeli jest taka mozliwosc prosze o poprawienie błędów gdyzmi się to nie udało.

"Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'" Gdzies w 73 lini czyli  
  1. <?php
  2. <td><b><center>'.$row[5].'<A HREF="index.php?action=del&id=".$row[0].>usun uzytkownika</A></center> </td>
  3. ?>
I jeszcze jedno pytanie jak ich posortowac alfabetycznie  ? 
Lion_87
  1. <?php
  2. echo' <tr>
  3.  <td>'.$i++.'</td>
  4.  <td><b><center>'.$row[5].'
  5.  
  6.  
  7. <A HREF="index.php?action=del&id=".$row[0].'<----zobacz to moze to
  8.  
  9.  
  10.  
  11. >usun uzytkownika</A></center> </td>
  12.  <td><b><center> '.$row[3].' </center></td>
  13.  <td><b><center> '.$row[1].'</center></td>
  14.  </tr>;
  15. ?>


masz .$row[0].'

a nie powinno byc '.$row[0].' ?
Shili
Cytat
I jeszcze jedno pytanie jak ich posortowac alfabetycznie ?
Fraza order by się kłania do zapoznania winksmiley.jpg
Glukozamina
No tamtego parsera juz nie ma . Błachostki niezauważyłem smile.gif Tylko ,że nadal nie działa  smile.gif Ktoś wie jak powinno być ?
nospor
Cytat
Tylko ,że nadal nie działa
Wymien plyn w chlodnicy smile.gif

ps: jesli nie zalapales oco mi chodzi to wyjasniam: opisz na czym polega twoje nie dzialanie...
Glukozamina
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ...
Lion_87
Cytat
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ...


ale do którego zapytania?
Shili
Przed tym mysql_fetch_row jest pewnie jakieś zapytanie. Zmień fragment na coś w tym stylu:
  1. <?php
  2. mysql_query(jakieś tam zapytanie) or die(mysql_error());
  3. ?>

Jeśli nadal będą problemy napisz co się pojawia na ekranie monitora.
Glukozamina
Shili dobrze doradził

  1. <?php
  2. mysql_query("DELETE FROM Users WHERE id='".$_GET['id']."'");
  3. ?>
Hmmmh jeszcze 2 pytania. Czemu tak jest ,ze kiedy wezme 

  1. <?php
  2. <A HREF="index.php?action=del&id='.$row[0].'">
  3. ?>
to nie działa

a kiedy wezme 

  1. <?php
  2. <A HREF="control/show.php?action=del&id='.$row[0].'">
  3. ?>
czyli do pliku w ktory mznajduje sie to zapytanie to wtedy działa. Da się zrobic do index.php i żeby działało ? 

2 pytanie. Nowe zapytanie nie działające z innego pliku. To troche trudniejsze. Mam w mysql tabele z zarejestorwanymi użytkownikami. Pole id nazwa nick email i tam jeszcze jakies ostatnie pole jest info które jest od informacji o sobie cos w tym stylu. Wypełnia się jej po rejestracji w linku który sie pokazuje po zalogowaniu "edytuj profil" Czyli chcę aby była edytowana tylko jedna komórka o id $ SESSION['zalogowany']

z pliku index.php

  1. <?php
  2.  
  3.   if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "db486994", "xxxxxxxxx")){
  4.    echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  5.    return;
  6.   }
  7.  
  8.   if(!@mysql_select_db('db486994')){
  9.    echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  10.    @mysql_close();
  11.    return;
  12.   }
  13.  
  14.  
  15.  
  16. $id = strip_tags($_GET['profil']);
  17.  
  18. $nick = $_SESSION['zalogowany'];
  19.  
  20. $query= "SELECT * FROM Users where Nazwa = '$nick'";
  21.  
  22. $result = mysql_query($query, $db_lnk);
  23.  
  24. if(!$result){
  25.   echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
  26.   echo mysql_errno($db_lnk) . ": " . mysql_error($db_lnk) . "\n";
  27.   @mysql_close();
  28.   exit;
  29. }
  30.  
  31. while($data = mysql_fetch_assoc($result)) {
  32.  
  33. $id = $data['Id'];
  34.  
  35. $nazwa = $data['Email'];
  36. }
  37.  
  38. if(!isset($_SESSION['zalogowany'])){
  39.   echo "Nie jesteś zalogowany ";
  40.   include("rejestracja/form.php");
  41.  
  42. }
  43.  
  44. if (isset($_SESSION['zalogowany']) && !empty($_SESSION['zalogowany']) )
  45. {
  46.  echo "Witaj w twoim menu: ";
  47.  echo "<a href='index.php?go=15'.'profil/show.php?profil=$id'>";
  48.  echo "<br>";
  49.  echo $_SESSION['zalogowany'];
  50.  echo "</a>";
  51.  echo "<center><br>";
  52.  echo "<a href='index.php?go=profiledit'.'control/profiledit.php?profil=$id'>Edytuj Profil</a><br>";
  53.  echo "<a href='index.php?go=11'>Wylogowanie</a>";
  54.  echo "</center></br>";
  55. }
  56.  
  57. if ($_SESSION['zalogowany']=='Glukozamina' ){ 
  58.  
  59.  echo "<a href='index.php?go=14'>PISZ NEWS'A</a><br>"; 
  60.  echo "<a href='index.php?go=20'>CONTROL PANEL</a>";
  61.  
  62. }
  63. ?>
  64.  
  65. <?php
  66. if(!@mysql_close()){
  67.   echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>');
  68. }
  69. ?>


z pliku control/profiledit.php

  1. <?php
  2.  
  3.  
  4. if(!isset($_SESSION['zalogowany'])){
  5.  echo "<form method='GET' action='control/profiledit.php'> ";
  6.  echo "<input type='text' name='edit' value=''style='height:210px' size='100'><br>";
  7.  echo "<input type='submit' value='Edytuj'>";
  8.  echo "</form>";
  9. }
  10. ?>
  11.  
  12.  
  13. <?php
  14.  
  15. function dodaj($info){
  16.  
  17.   /*sprawdzenie poprawości przekazanych danych*/
  18.  
  19.  
  20. if($info == ''){
  21.    echo("Brak danych. Proszę wypełnić pole: Info.");
  22.    return;
  23.   }
  24.  
  25.  $id = strip_tags($_GET['profil']);
  26.  
  27.  
  28. /*Nawiązanie połączenia z bazą*/
  29.  
  30.   if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "db486994", "xxxxxx")){
  31.    echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  32.    return;
  33.   }
  34.  
  35.   if(!@mysql_select_db('db486994')){
  36.    echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  37.    @mysql_close();
  38.    return;
  39.   }
  40.  
  41.   /*Utworzenie i wykonanie zapytania*/
  42.  
  43.   $query = "UPDATE `db486994`.`Users` SET `info` = '$info' WHERE `Users`.`Id` =$id LIMIT 1;
  44.  
  45.   if(!mysql_query($query, $db_lnk)){
  46.    echo 'Wystąpił błąd: zapytanie zostało odrzucone...<br />Zapytanie: <pre>' . $query . '</pre>Odpowiedź MySQL: <pre>' . mysql_error( $db_lnk ) . '</pre>';
  47.    @mysql_close();
  48.    return;
  49.   }
  50.  
  51.  
  52.  
  53.   /*Pobranie informacji o liczbie wstawionych wierszy*/
  54.  
  55.  
  56.  
  57.  
  58.   /*Zamknięcie połączenia z bazą*/
  59.  
  60.   if(!@mysql_close()){
  61.    echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>');
  62.   }
  63. }
  64.  
  65. if(isSet($_GET['edit'])){
  66.   dodaj($_GET['edit']);
  67. }
  68.  
  69. ?>




Nie wiem czy zapytanie jest dobrze skonstuowane. I czy dobrze pobiera id zalogowanego . A błąd jest taki : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in.

Czyli loguje się chcę uzupełnic jakieś informacje o sobie w swoim id w polu info pozostawiajac reszte bez zmian. Pokazuje błąd w 66 lini czyli tutaj  \/

  1. <?php
  2.  
  3.  
  4. if(isSet($_GET['edit'])){
  5.   dodaj($_GET['edit']);
  6. }
  7. ?>
nowotny
Nie zamknięty cudzysłów...
  1. <?php
  2. $query = "UPDATE `db486994`.`Users` SET `info` = '$info' WHERE `Users`.`Id` =$id LIMIT 1;
  3. ?>
Glukozamina
Dzięki nowotny smile.gif I błąd po wcisnieciu przycisku edit : Wystšpił błšd: zapytanie zostało odrzucone...Zapytanie: 
UPDATE `db486994`.`Users` SET `info` = 'gggggg' WHERE `Users`.`Id` = LIMIT 1
OdpowiedŸ MySQL: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
nowotny
Zmienna $id jest pusta...

W ogóle, co to ma być:
  1. <?php
  2. echo "<a href='index.php?go=15'.'profil/show.php?profil=$id'>";
  3. ...
  4. echo "<a href='index.php?go=profiledit'.'control/profiledit.php?profil=$id'>Edytuj Profil</a><br>";
  5. ?>
Glukozamina
Właściwie to nie wiem . Przekazanie zmiennej chyab tą część kodu kolega mi robił . Tak myślałem ,że coś z tym id nie tak. Ale zabardzo nie wiem jak to zrobic. smile.gif
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.