![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Witam
Mam dwie tabele: Tabela 'news' id nazwa data autor tresc kat_id Tabela 'kategorie' id nazwa oraz formularz z listą rozwijana w której mam do wyboru kilka kategorii, chciałbym zrobic w ten sposób aby wybór danej kategorii przy wypełnianiu formularza automatycznie nadawał dodanem tekstowi wartość ( czyli id z tabela "kategorie") do pola kat_id. W jaki sposób mogłbym to zrobić? kod formularza: gdzie option value=1" to id kategorii Dzięki i POzdr!
Powód edycji: [Ociu]: Poprawiłem bbCode
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 29 Pomógł: 3 Dołączył: 16.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Dobra wielkie dzieki! Działa poprawnie tak jak chciałem.
Miałbym jeszcze jedno pytanie. Mam plik news.php w którym są wyswietlane dodane artykuły i chciałbym żeby wyświetlane były w nim tylko te artykuły które np mają wartość kat_id=4 kod pliku news.php: CODE <?php include("polacz.php"); $query = mysql_query("select * from news order by kat_id value='4'"); while($rekord = mysql_fetch_array($query)) { $naz .= '<table><img src="html/f_3.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord [3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>'; } echo '<tr>'.$naz.'</tr>'; ?> ("select * from news order by kat_id value='4'") myslałem że może taka składnia wszystko załatwi ale niestety nie działa i na dodatek wyskakuje błąd |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 21 Dołączył: 28.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
klauzula WHERE
WHERE `x` = 'wartosc' -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Super, wielkie dzieki działa jak chciałem!
Jestem bardzo ciemny jeśli chodzi o php więc non stop coś mi nie pasuje, więc napotkałem kolejny problem. Mianowicie: Wcieliłem plik wyświetlający dodane artykuły do mojego głównego pliku index To jest kod który wrzuciłem do indexu: CODE <?php include("polacz.php"); $query = mysql_query("select * from news WHERE `kat_id` = '6'"); while($rekord = mysql_fetch_array($query)) { $naz .= '<table><img src="html/f_5.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord [3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>'; } echo '<tr>'.$naz.'</tr>'; ?> mój index składa się z kilku tabel i chciałem żeby w każdej tabeli wyświetlane były artykuły z innej kategorii, czyli w pierwszej tabeli artykuły o kat_id=1 w drugiej tabeli artykuły o kat_id=2 itp. Ja zrobiłem to w taki sposób że w każdej tabeli umieściłem ten kod i zmieniałem tylko kat_id. Jak dodaje artykuł do pierwszej tabeli wszystko jest OK ale jak dodam do drugiej to już jest coś nie tak i najpierw w tabeli drugiej pojawia mi sie artykuł z tabeli pierwszej i dopiero potem ten dodany słuszny. Z kazdą kolejną tabelą jest podobnie, dodam artykuł do tabeli 3 to znowu najpierw wyswietlane są artykuły z pierwszych dwoch tabel i dopiero ten dodany Prościej mówiąc zawartość kolejnej tabeli powielana jest artykuły z poprzednich tabel Jak z tego wybrnąć? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 21 Dołączył: 28.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
a gdzie kod odpowiedzialny za dodawanie artykulow do bazy?
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
to jest kod który dodaje artyukuły:
CODE <?php
include("polacz.php"); if($_SERVER['REQUEST_METHOD'] == 'POST') { $query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."','".$_POST['kat_id']."')"); } ?> |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 21 Dołączył: 28.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
a sprawdź jak są dodawane rekordy do bazy i pod $query... daj var_dump($_POST) i wklej na forum to co ci wyskoczyło
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Jeśli chodzi Ci o to czy rekordy w bazie też się powtarzają to właśnie nie, tam jest wszystko w porządku dlatego bardziej myślałem że to wina leży po stronie wyświetlania. Zaraz sprawdze z tym kodem, a dokładniej w którym miejscu ulokować var dump($_POST)?
a może te błędy są za to odpowiedzialne? : Undefined variable: naz in... Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ... Ten post edytował kosior11 29.03.2011, 23:26:57 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 4 Dołączył: 27.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
załatwiło to sprawę błędu: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ..
Ale w dalszym ciągu dodawane teksty się powielają :/ Wkleje kod który wyświetla artykuły jeszcze raz, bo bardzo mi na tym zależy: CODE <?php include("polacz.php"); $query = mysql_query("select * from news WHERE `kat_id` = '1'"); while($rekord = mysql_fetch_array($query)) { $naz .= '<table><img src="html/f_6.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>'; echo '<tr>'.$naz.'</tr>'; } ?> Mam w pliku index tabele w której podzieloną na kilka wierszy i wiersze te podzielone są na kilka kategorii. Zrobiłem z pomocą chłopaków tak, żeby każdy artykuł został dodany do wiersza odpowiadającego danej kategorii, na tym etapie jest wszystko w porządku. Jednak mimo tego że w np. w wierszu odpowiadającym kategorii 1 umieszczam cały kod z ("select * from news WHERE `kat_id` = '1'") artykuł się wyświetla w wierszach o innych kategoriach. Czyli jest powielany na pozostałe kategorie. W przypadku 2 kategorii jest podobnie ale z ominięciem wiersza 1. i tak w każdej kategorii. Zawsze artykuły są powielane o następną kategorię, jeśli chodzi o poprzednie to jest spoko. Jakie zmiany wprowadzić do kodu żeby artykuły wyświetlały sie prawidłowo tzn, dany artykuł tylko i wyłącznie w danej kategorii. Pozdr! |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 4 Dołączył: 27.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
zrob jakiegos screena jak to wyglada i podaj caly kod odpowiadajacy za wszystkie wiersze
wrzuc w tagi [PHP] |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
![]()
Powinno być po jednym artykule w każdej kategorii, a jak widzimy w drugiej kategorii znalazł sie artykuł z kategorii pierwszej i w trzecim wypadku jest podobnie. Teraz się tak przyjrzałem temu co wkleiłem. A przypadkiem błędem nie będzie to że w zasadzie w każdym nowym wierszu tabeli kod zaczyna się od: include("polacz.php"); Może include("polacz.php"); powinno być tylko jakoś na początku. Wiecie jakby to miało wyglądać? Ten post edytował kosior11 30.03.2011, 21:03:50 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 4 Dołączył: 27.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
a masz zrobione zamykanie polaczenia z baza? bo jak ci sie polaczy i pobierze dane to potem znowu ci sie laczy i znowu pobiera, a wciaz masz otwarta baze dla starego polaczenia. prawdopodobnie przez to masz ten blad
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 20.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
rozumiem że zamykanie polaczenia z bazą powinienem był umiescic w pliku polacz.php? Czy gdzies w tym kodzie? :
Co powinno się znaleźć w nawiasie? |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 4 Dołączył: 27.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
w kodzie, po pobraniu wszystkiego z bazy.
nie wiem niestety jak to dziala, ja uzywam PDO i tam to jest duzo lepiej zrobione. wydaje mi sie, ze powinienes zrobic jakas zmianna i w niej wywolac polaczenie do bazy, a potem ta zmienna podac w mysql_close($zmienna); |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat z manuala czyli nie musisz zamykać połączenia z bazą:
Cytat Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. See also freeing resources. -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 20.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Stwierdzilam, ze nie ma sensu tworzyc podobnego tematu zwlaszcza, ze wykorzystalam kod napisany tutaj przez PlayKiller.
Moj problem polega na tym, ze nie biore liste rozwijana oraz text po czym umieszczam te dane w bazie. Mam problem z lista rozwijana. Bo chyba w tym jest blad zeby wybrac z listy i dodac do bazy. Z góry dziekuje za pomoc.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Sebapgd pytasz o to w innnym temacie. Naprawde wystarczy
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 01:21 |