Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Odczyt i zapis w tej samej tabeli na tej samej stronie, Edytowanie menu
v1t4n
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


Witam

Chcialem zrobic mozliwosc edytowania menu. Problem pojawia sie gdy chce dodac nowy link do bazy, mianowicie na stronie ktora laczy sie z baza i dodaje wpis pojawia sie blad z wyswietlaniem menu. Problem wystepuje tylko na tej stronie - gdy przejdzie sie na inna wszystko jest w porzadku. Blad jest taki ze podaje mi pierwsze litery z nazwy i url do strony, wiec zamiast
  1. <a href="index.php">Strona glowna</a>

pokazuje sie '
  1. <a href="i">S</a>

Rowniez wpis do bazy ktory jest jednoczesnie tworzony jest bledny. Przekreca pierwsza litere z kazdego pola. Zamiast
Kod
Ksiega gosci

tworzy
Kod
asiega gosci

i zamiast
Kod
index.php?action=guestbook

wstawia
Kod
andex.php?action=guestbook


Nie wiem, moze wina wynika z bledu apache. Testowalem narazie tylko u siebie (korzystam z WebServa).

Kod wyswietlania menu: (w pliku cfg.txt zapisane sa zmienne dotyczace hosta, loginu, hasla i nazwy bazy mysql)
  1. <?php
  2. include('cfg.txt');
  3. $sql = mysql_connect($mysqlhost, $mysqllogin, $mysqlpassword);
  4. mysql_select_db($mysqldbname);
  5. echo(naglowek('Menu'));
  6. print '<div class="menu">';
  7. $sql2 = 'SELECT * FROM `menu` ORDER BY `id` ASC LIMIT 0, 30 ';
  8. $idsql2 = mysql_query($sql2);
  9. $menulicz=0;
  10. while($wiersz = mysql_fetch_array($idsql2))
  11. {
  12. $menuid[$menulicz]=$wiersz[0];
  13. $menuname[$menulicz]=$wiersz[1];
  14. $menuurl[$menulicz]=$wiersz[2];
  15. $menutarget[$menulicz]=$wiersz[3];
  16. if($menutarget[$menulicz]=1)
  17. {
  18. $menutarget[$menulicz]='';
  19. }
  20. if($menutarget[$menulicz]=0)
  21. {
  22. $menutarget[$menulicz]=' target="_blank"';
  23. }
  24. $href[0] = '--> <a href="';
  25. $href[1] = $menuurl[$menulicz];
  26. $href[2] = '"';
  27. $href[3] = $menutarget[$menulicz];
  28. $href[4] = '>';
  29. $href[5] = $menuname[$menulicz];
  30. $href[6] = '</a><BR>';
  31. $link = implode('', $href);
  32. print $link;
  33. }
  34. print '</div>';
  35. ?>

Dodawanie wpisu do bazy:
  1. <?php
  2. $sql3 = 'SELECT `id` FROM `menu` ORDER BY `id` DESC LIMIT 0, 1 ';
  3. $idsql3 = mysql_query($sql3);
  4. while ($wiersz = mysql_fetch_row($idsql3))
  5. {
  6. $ilosclinkow=$wiersz[0];
  7. }
  8. $ilosclinkow++;
  9. echo($ilosclinkow);
  10. $sql3 = 'INSERT INTO `menu` (`id`, `name`, `url`, `target`) VALUES (''. $ilosclinkow .'', ''. $menuname .'', ''. $menuurl .'', ''. $menutarget .'');';
  11. $sql3 = 'INSERT INTO `menu` (`id`, `name`, `url`, `target`) VALUES (''. $ilosclinkow .'', ''. $menuname .'', ''. $menuurl .'', ''. $menutarget .'');';
  12. mysql_query($sql3);
  13. print 'Link został pomyślnie dodany';
  14. ?>

Tekst skopiowalem ze srodka sformatowanego skryptu strony wiec jest duzo spacji.
Za ewentualna niewiedze ze stosowania podstawowych funkcji przepraszam i obiecuje sie poprawic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
v1t4n
post
Post #2





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


  1. <?php
  2. if($cat=='addlink')
  3. {
  4. if (!isset($_SESSION['zalogowany']))
  5.  {
  6. echo(error('Musisz być zalogowany, żeby móc dodawać newsy.'));
  7. }
  8.  else
  9. {
  10.  
  11. $sql = mysql_connect($mysqlhost, $mysqllogin, $mysqlpassword);
  12. mysql_select_db($mysqldbname);
  13. $pytanie7 = 'SELECT `class` FROM `users` WHERE `username` = ''. $_SESSION['login'] .'' LIMIT 0, 30 ';
  14. $idzapytania5 = mysql_query($pytanie7);
  15. while ($wiersz = mysql_fetch_row($idzapytania5))
  16.  {
  17.  $_SESSION['classMS'] = $wiersz[0];
  18.  }
  19. if ($_SESSION['classMS']==3||$_SESSION['classMS']==4)
  20.  {
  21.  echo(error('Nie masz uprawnień żeby dodawać nowe newsy. Żeby móc dodawać newsy musisz mieć r
    angę "Klasowicz" lub "Admin". Aby zmienić rangę swojego konta poproś o to Admina.'
    ));
  22.  }
  23. if ($_SESSION['classMS']==1||$_SESSION['classMS']==2)
  24.  {
  25. echo(naglowek('Dodawanie linków'));
  26. echo(tree('3', 'Panel administracyjny --> Menu --> Dodaj link'));
  27. if($id==1||$id=='')
  28. {
  29. print 'Link zostanie automatycznie dodany jako ostatni. Jeżeli chcesz zmienić jego kole
    jność wejdź w edytowanie menu<P>'
    ;
  30. print '<table><form method="post" action="index.php?action=menusettings&cat=addlink&id=2"><tr>';
  31. print '<td width="100"><input type="text" name="menuname" size="18"></td>';
  32. print '<td width="190"><input type="text" name="menuurl" size="35"></td>';
  33. print '<td width="50"><select name="menutarget">';
  34. print '<option value="0" selected>W tym oknie</option>';
  35. print '<option value="1">W nowym oknie</option></select>';
  36. print '</td></tr></table><center><input type="submit" value="Dodaj link"></form>';
  37. }
  38. if($id==2)
  39. {
  40. $sql3 = 'SELECT `id` FROM `menu` ORDER BY `id` DESC LIMIT 0, 1 ';
  41. $idsql3 = mysql_query($sql3);
  42. while ($wiersz = mysql_fetch_row($idsql3))
  43. {
  44. $ilosclinkow=$wiersz[0];
  45. }
  46. $ilosclinkow++;
  47. echo($ilosclinkow);
  48. $sql3 = 'INSERT INTO `menu` (`id`, `name`, `url`, `target`) VALUES (''. $ilosclinkow .'', ''. $menuname .'', ''. $menuurl .'', ''. $menutarget .'');';
  49. mysql_query($sql3);
  50. print 'Link został pomyślnie dodany';
  51. }
  52.  }
  53.  }
  54. }
  55. ?>
Caly skrypt na dodawanie linkow. Podobny problem wystepuje gdy chce edytowac menu (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) !? Gdy ustawie zeby menu w tym momencie w ktorym zmieniane sa wpisy w bazie sie nie wyswietlaly to dziala !? nie moge tego pojac, a poza tym wkurza mnie to prymitywne rozwiazanie ;/
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 19:03