Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciągnięcie zakresu rekordów
adiseq
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 20.11.2011

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


Cześć,

Mam problem z zapytaniem do bazy. Chcę wyciągnąć z tabeli user rekordy których nazwa zaczyna się na literkę z zakresu A-E. Próbowałem na dwa sposoby: LIKE i REGEXP.
Zapytanie LIKE:
  1. SELECT * FROM users WHERE nazwa LIKE '[A-E]%'

Niestety, takie zapytanie nie wyświetla żadnego rekordu.
Przy zapytaniu REGEXP jest trochę lepiej, ale i tak nie wyświetla wszystkich rekordów tak jak powinno :/
Np. przy zapytaniu
  1. SELECT * FROM user WHERE nazwa REGEXP '^[A-Z]'

które powinno wyświetlić wszystkie rekordy, to wyświetla mi 7/9 i nie wiem dlaczego tamte 2 opuszcza. Natomiast zapytanie
  1. SELECT * FROM user WHERE nazwa REGEXP '^A'
powinno wyświetlić wszystkie rekordy gdzie nazwa zaczyna się na A, a wyświetla 3 rekordy na 4 w których nazwa zaczyna się na A.
Wiecie w czym może być problem? Może mieć to coś związanego z typem tabeli? Typ ustawiony mam na varchar(128).

Pozdrawiam,
Adrian
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


A mógłbyś pokazać co daje:
  1. SELECT ASCII(nazwa) FROM user

dla niewybieranych rekordów?
Go to the top of the page
+Quote Post
adiseq
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 20.11.2011

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


Cytat(trueblue @ 19.10.2016, 11:35:26 ) *
A mógłbyś pokazać co daje:
  1. SELECT ASCII(nazwa) FROM user

dla niewybieranych rekordów?

Wpisując to zapytanie zwraca mi 9 pustych rekordów, tj. bez danych takich jak adres, miejscowosc, nazwa itd.

a tak w ogóle to mam taki kod na wyświetlanie:
  1. <?php
  2. ini_set("display_errors", 0);
  3. require_once 'dbconnect.php';
  4. $polaczenie = mysqli_connect($host, $user, $password);
  5. mysqli_query($polaczenie, "SET CHARSET utf8");
  6. mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  7. mysqli_select_db($polaczenie, $database);
  8.  
  9.  
  10.  
  11. $rezultat = mysqli_query($polaczenie, "SELECT ASCII(nazwa) FROM user");
  12. $ile = mysqli_num_rows($rezultat);
  13.  
  14.  
  15. $row = mysqli_fetch_assoc($rezultat);
  16. $nazwa = $row['nazwa'];
  17. $nip = $row['nip'];
  18. $kodp = $row['kodp'];
  19. $miejscowosc = $row['miejscowosc'];
  20. $ulica = $row['ulica'];
  21. $strona = $row['strona'];
  22. $wizyt = $row['wizyt'];
  23.  
  24. ?>
  25.  
  26. <?php
  27. $nr = 0;
  28. while ($row = mysqli_fetch_assoc($rezultat)) {
  29. ?>
  30. <div class="rekord">
  31. <div class="nazwa"><?php echo $row['nazwa']?></div>
  32. <div class="row">
  33. <div class="col-sm-4 text-center"><label>Kod pocztowy:</label> <?php echo $row['kodp']?></div>
  34. <div class="col-sm-4 text-center"><label>Miejscowość:</label> <?php echo $row['miejscowosc']?></div>
  35. <div class="col-sm-4 text-center"><label>Adres:</label> <?php echo $row['ulica']?></div>
  36. </div>
  37. <div class="row">
  38. <div class="col-sm-4 text-center"><label>NIP:</label> <?php echo $row['nip']?></div>
  39. <div class="col-sm-4 text-center"><label>Telefon:</label> <?php echo $row['telefon']?></div>
  40. <div class="col-sm-4 text-center"><label>Strona:</label> <?php echo $row['strona']?></div>
  41. <div class="przycisk">
  42. <a href="<?php echo $row['wizyt']?>"><button class="btn btn-danger btn-lg" type="submit" style="font-size:12px;">Zobacz wizytówkę</button></a>
  43. </div>
  44. </div>
  45. </div>
  46. <?php $nr++; }
  47.  
  48. ?>
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: 9.10.2025 - 08:37