Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.12.2009 Ostrzeżenie: (0%)
|
Witam serdecznie, zetknąłem się z pewnym problemem, otóż: Mam bazę danych, napisałem skrypt który wyświetla wszystko z tej bazy oto on nic nadzwyczajnego.
Kod <?php $connection = @mysql_connect('localhost', 'root', 'domek') or die('Brak połączenia z serwerem MySQL.<br />Bład: '.mysql_error()); echo "Udało się połaczyć z serwerem!<br />"; $db = @mysql_select_db('bazka', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); echo "Udało się polaczyć z baza dancych!"; echo "</br>"; $wynik = mysql_query("SELECT * FROM dane") or die('Błąd zapytania'); if(mysql_num_rows($wynik) > 0) { echo "<table cellpadding=\"2\" border=1>"; while($r = mysql_fetch_assoc($wynik)) { echo "<tr>"; echo "<td>".$r['IMIE']."</td>"; echo "<td>".$r['NAZWISKO']."</td>"; echo "</tr>"; } echo "</table>"; } Następnie posiadam plik xml z jakąś tam strukturą, napisałem do niego parser żeby wyciągał z niego nazwiska i imiona ogólnie pole to to: <Nazwa1>Jan Nowak</Nazwa1> Oto kod parsera: Kod $dokument = DOMDocument::load('plik.xml'); $autorzy=$dokument->getElementsByTagName('NAZWA1'); foreach ($autorzy as $autor) { print$autor->nodeValue."\n"; echo "</br>"; } Dodam że działa bez zarzutu... Ale dla mnie tu zaczynają się schody... Chcę aby te nazwiska, które są w bazie danych i te same co są w xml (w bazie jest Nowak i w xml jest Nowak) się np podświetliły w tabeli, podejrzewam że trzeba jakoś wyciągać i porównywać stringi z tablicy, ale moja wiedza się tu kończy, meczę się dzień i nie wiem jak się za to zabrać. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 7 Dołączył: 29.04.2009 Skąd: Kraków Ostrzeżenie: (0%)
|
Do głowy przychodzą mi dwa sposoby.
1) Tak trywialnie Zapisz sobie dane w dwóch tablicach. Przeleć jedną z tablic foreach'em i sprawdzaj czy dana wartość nie znajduje się w drugiej z tablic funkcją in_array Jeśli się znajduje, to pokoloruj. (IMG:style_emoticons/default/smile.gif) 2) Według mnie lepiej: Zapisuj dane w jednej tablicy, albo jak masz je w dwóch to połącz array_merge Posortuj te tablice w odpowiednim porządku. Zapewne i tak musiałbyś to robić wyświetlając listę nazwisk (IMG:style_emoticons/default/smile.gif) Idź po kolei przez całą tablicę w podobnym stylu jak przedstawiony poniżej:
mam nadzieję, że kod jest zrozumiały i przejrzysty (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.12.2009 Ostrzeżenie: (0%)
|
OK problem sort out (IMG:style_emoticons/default/smile.gif) dzięki ... ale mam inny kłopot tzn. mam linie kodu usuwającą z bazy danych:
Wszystko niby ok usuwa wiersze po wpisaniu w inpucie nr umowy ale jeśli wpiszę jakiś zmyslny nr którego nie ma w bazie to też wyskoczy komunikat "Rekord został usunięty poprawnie"; mimo że nic nie usunał... |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 7 Dołączył: 29.04.2009 Skąd: Kraków Ostrzeżenie: (0%)
|
usuń @ sprzed mysql_query i zobacz czy wygeneruje Ci błąd.
nie przypisuj nic pod wynik zapytania, bo nie ma to sensu. Zamiast tego użyj mysql_affected_rows, który powie Ci ile rekordów zostało usuniętych. Czyli: Taka konstrukcja da Ci pełen obraz problemu. W wypadku błędnego zapytania dostaniesz errora, a w innych przypadkach zobaczysz ile rekordów usunąłeś. Jeśli 0, to musisz się zastanowić nad poprawnością zapytania. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 07:21 |