Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie do bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
Chrom
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
webmaniak
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?
Mchl
Co to znaczy 'nie rozpoznaje tego $x'?
qasz
A ten kod ci działa :

  1. $s=mysql_query("UPDATE pracownicy SET opublikowane='1' WHERE wydzial_id='".$x."' LIMIT 1");
webmaniak
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.
Mchl
Przecież po przejściu tego kodu $x równa się cztery i nic tego nie zmieni. Czegoś nie rozumiesz, tylko nie bardzo wiem czego.
Wicepsik
Jeśli wysyłasz formularz to użyj $_GET bądź $_POST
webmaniak
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.
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.