Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie do bazy danych
Chrom
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


Mam takie zapytanie:
  1. <?php
  2.  
  3. $dane = @mysql_query("SELECT * FROM stany WHERE adres=$rap_budynek and wezel = $rap_wezel AND rok
    miesiac = $rm"
    ) or die(mysql_error());  
  4. if(mysql_num_rows($dane) > 1) {
  5. echo '<h4>Ten Raport jest już załadowany do bazy danych. Jeżeli potrzebujesz pomocy skontaktuj się z administr
    atorem.<br>
  6. <a href="index.php?go=wyslij" target="_top" style="margin-top: 15px; ">:: Wróć i wyślij nowy raport</a></h4>';
  7. } 
  8.  
  9. ?>

Zgłasza mi błąd, (Unknown column 'alfa14' in 'where clause')może ktoś ma jakiś pomysł?
Chcę po prostu sprawdzić czy loadowany plik nie został już załadowany do bazy danych.

OK znalazłem brak apostofów dla wartości tekstowych, (adres='$rap_budynek') i już.
Sorki

Ten post edytował Chrom 25.02.2006, 21:37:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
webmaniak
post
Post #2





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Witam!
Poprzedni post był dość dawno ale pasuje do mojego problemu. Mam pytanie związane ze zmiennymi w zapytaniu do bazy danych. Mianowicie w polu np. input mam
  1. id="<?php echo $x=1; ?>

a niżej
  1. id="<?php echo ++$x; ?>

Dalej mam zapytanie do bazy danych
  1. $s=mysql_query("UPDATE pracownicy SET opublikowane='1' WHERE wydzial_id='$x' LIMIT 1");

i nie rozpoznaje mi tego $x.
Jak dam:
  1. $s=mysql_query("UPDATE pracownicy SET opublikowane='1' WHERE wydzial_id='1' LIMIT 1");

To wtedy działa. Jednak potrzebuje użyć tą zmienną.
Czy potrafi ktoś pomóc? Co tu namieszałem?

Ten post edytował webmaniak 21.05.2010, 17:24:40
Go to the top of the page
+Quote Post
Mchl
post
Post #3





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Co to znaczy 'nie rozpoznaje tego $x'?
Go to the top of the page
+Quote Post
qasz
post
Post #4





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 18.05.2010
Skąd: Norwich

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


A ten kod ci działa :

  1. $s=mysql_query("UPDATE pracownicy SET opublikowane='1' WHERE wydzial_id='".$x."' LIMIT 1");
Go to the top of the page
+Quote Post
webmaniak
post
Post #5





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Witam!
Dziękuje za szybkie odpowiedzi. Pisząc nie rozpoznaje miałem na myśli że nie wykonuje polecenia, czyli nic się nie zmienia. Rozwiązanie okazało się banalne - dałem zapytanie ze zmienną x na początku skryptu, a deklaracja wartości zmiennej x była niżej. Człowiek się uczy całe życie ...
Tylko dziwi mnie jedno. Wykorzystałem to zapytanie także do pola select:
  1. <select id="idw" name="idw">
  2. <option value="1" id="<?php echo $x=1;?>">Kadry</option>
  3. <option value="2" id="<?php echo ++$x;?>">Księgowość</option>
  4. <option value="3" id="<?php echo ++$x;?>">Marketing</option>
  5. <option value="4" id="<?php echo ++$x;?>">Wydział‚ pomocniczy</option>
  6. </select>

Poniżej tego kodu dałem:
  1. $s=mysql_query("UPDATE pracownicy SET opublikowane='1' WHERE wydzial_id=".$x."");

Kłopot w tym że zmieniają się w bazie wartości z $x=4. Nawet gdy wybiorę Kadry, gdzie $x powinno być równe jeden to zmienia mi wartości tak jakby $x=4. Tak zawsze, niezależnie co wybiorę. Dawałem też $x=$x+1 ale to nie pomaga. Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
Mchl
post
Post #6





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Przecież po przejściu tego kodu $x równa się cztery i nic tego nie zmieni. Czegoś nie rozumiesz, tylko nie bardzo wiem czego.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #7





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Jeśli wysyłasz formularz to użyj $_GET bądź $_POST
Go to the top of the page
+Quote Post
webmaniak
post
Post #8





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Cytat(Mchl @ 22.05.2010, 12:42:03 ) *
Przecież po przejściu tego kodu $x równa się cztery i nic tego nie zmieni. Czegoś nie rozumiesz, tylko nie bardzo wiem czego.

Chce mając kod:
formularz:
  1. <form method="get" id="wydz_form">
  2. <p>
  3. <select id="idw" name="idw">
  4. <option value="1">Kadry</option>
  5. <option value="2">Księgowość</option>
  6. <option value="3">Marketing</option>
  7. <option value="4">Wydział pomocniczy</option>
  8. </select>
  9. <input name="dalej" type="submit" value="Dalej" />
  10. </p>
  11. </form>>


następnie:
  1. function init() {
  2.  
  3. var ajax = getXMLHttpRequestObject();
  4.  
  5. if (ajax) {
  6.  
  7. if (document.getElementById('wyniki')) {
  8.  
  9. document.getElementById('wydz_form').onsubmit = function() {
  10.  
  11. var idw = document.getElementById('idw').value;
  12.  
  13.  
  14. ajax.open('get', 'wydz_wyniki_ajax.php?idw=' + encodeURIComponent(idw));
  15.  
  16.  
  17. ajax.onreadystatechange = function() {
  18. handleResponse(ajax);
  19. }
  20.  
  21.  
  22. ajax.send(null);
  23.  
  24. return false; // So form isn't submitted.
  25.  
  26. } // End of anonymous function.
  27.  
  28. } // End of DOM check.
  29.  
  30. } // End of ajax IF.
  31.  
  32. } // End of init() function.


Chce by tak samo pobierało ale gdy są zamiast w id=1, id=2, id=3, id=4- zmienne. A nie rozumiem jak to zrobić i tego mechanizmu zmiennych w formularzach-bo jak na razie nie udaje się mi zrobić w taki sposób jak chce. Po Twojej wypowiedzi wydaję się mi że trzeba to zrobić w pętli for i jedno pole option, a zamiast kadry, księgowość, itd. dać zmienną wynik['nazwa'], która pobierze z bazy te nazwy.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 02:37