Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]pokazanie się liczby
mit2
post
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


Witam chce na stronie zrobic cos takiego że jeżeli np. dany port byl wykorzystany nie pokazuje go w option tu mam kod
  1. <tr>
  2. <td class="tabela_pomoc">Port</td>
  3. <td class="tabela_pomoc">
  4. <select name="port" onchange="this.form.submit();"><option value="">Wypierz Port</option>
  5. <?php
  6. $port = "SELECT * FROM serwer WHERE port='$_POST[port]'";
  7. $port = mysql_query("$port");
  8. $port = mysql_fetch_array($port);
  9. $por = "SELECT * FROM zamowienia WHERE port='$_POST[port]'";
  10. $por = mysql_query("$por");
  11. $por = mysql_fetch_array($por);
  12. if($port[port] <> '')
  13. {
  14. if($por[port] <> '')
  15. {
  16. }
  17. }
  18. else
  19. {
  20. $port = "SELECT * FROM gry WHERE id='$_POST[nazywamy]'";
  21. $port = mysql_query("$port");
  22. $port = mysql_fetch_array($port);
  23. $mine = $port[portod];
  24. $maxe = $port[portdo];
  25. for ($c=$mine; $c<=$maxe; $c++) {
  26. if(isset($_POST['port']))
  27. {
  28. $_SESSION['port']=$_POST['port'];
  29. }
  30. ?>
  31. <option <?php if($_SESSION['port'] == $c) { echo 'selected'; }else{ echo ''; } ?> value="<?php echo $c; ?>"><?php echo $c; ?></option>
  32. <?php
  33. }
  34. }
  35. ?>
  36. </select>
  37. </td>
  38. </tr>

jak moge zrobic żeby te żeczy kture nie byly wybierane pokazywalo a te co juz sa w uzyciu nie pokazalo
Go to the top of the page
+Quote Post
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Aż mnie ciarki przeszły.

Użyj JOIN przy zapytaniu.

Ten post edytował markonix 14.04.2011, 14:53:30


--------------------
Go to the top of the page
+Quote Post
mit2
post
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


zmienilem i nic
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Może monitor się spalił?


--------------------
Go to the top of the page
+Quote Post
bastard13
post
Post #5





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


1) Nie pisz: $por[port] tylko $por['port'], bo pierwsza konstrukcja zwraca błąd, co prawda tylko notice, ale zawsze jakiś.
2) Jak masz zapytanie:
  1. "SELECT * FROM serwer WHERE port='$_POST[port]'";
,
to albo napisz tak:
  1. "SELECT * FROM serwer WHERE port='{$_POST['port']}'";

albo (bardziej czytelne, jak na mój gust):
  1. 'SELECT * FROM serwer WHERE port="' . $_POST['port'];

3) Pokaż to zapytanie, które udało ci się stworzyć.


--------------------
Go to the top of the page
+Quote Post
mit2
post
Post #6





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


1 zapytanie
  1. CREATE TABLE `serwer` (
  2. `id` float NOT NULL AUTO_INCREMENT,
  3. `ip` varchar(255) NOT NULL,
  4. `port` varchar(255) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;


2 zapytanie

  1. CREATE TABLE `zamowienia` (
  2. `id` float NOT NULL AUTO_INCREMENT,
  3. `lokalizacja` varchar(255) NOT NULL,
  4. `gra` varchar(255) NOT NULL,
  5. `ip` varchar(255) NOT NULL,
  6. `port` varchar(255) NOT NULL,
  7. `cena` varchar(255) NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;


i 3 zapytanie

  1. CREATE TABLE `gry` (
  2. `id` float NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(255) NOT NULL,
  4. `opis` varchar(255) NOT NULL,
  5. `min_slot` varchar(255) NOT NULL,
  6. `max_slot` varchar(255) NOT NULL,
  7. `portod` varchar(255) NOT NULL,
  8. `portdo` varchar(255) NOT NULL,
  9. `katalog` varchar(255) NOT NULL,
  10. `install` varchar(255) NOT NULL,
  11. `start` varchar(255) NOT NULL,
  12. `cfg` varchar(255) NOT NULL,
  13. `nazwa_start` varchar(255) NOT NULL,
  14. `kstop` varchar(255) NOT NULL,
  15. `krestart` varchar(255) NOT NULL,
  16. `active` varchar(255) NOT NULL,
  17. `data` datetime NOT NULL,
  18. PRIMARY KEY (`id`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=7 ;
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Pomyliłeś okna w przeglądarce czy co?


--------------------
Go to the top of the page
+Quote Post
mit2
post
Post #8





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


o co ci chodzi
Go to the top of the page
+Quote Post
desperat666
post
Post #9





Grupa: Zarejestrowani
Postów: 31
Pomógł: 12
Dołączył: 19.03.2011

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


Na mój góst* tu wszystko źle jest, aby to naprawić w edytorze PHP wciśnij [CTRL+A] a potem [BACKSPACE].
Chciałem Ci pomóc, bo lubię wyzwania.
Ale ja tego Twojego zapytania po prostu nie rozumiem.

PS, rozumiem zapytania SQL ale nie w tym rzecz.

Ten post edytował desperat666 14.04.2011, 23:07:02
Go to the top of the page
+Quote Post
markonix
post
Post #10





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Cytat(mit2 @ 14.04.2011, 23:40:55 ) *
o co ci chodzi

Te pytanie sobie zadaj.

Pytasz o pytanie wybierające, ktoś Cie prosi o pokazanie co zrobiłeś, a Ty dajesz komendy do tworzenia struktury tabel....


--------------------
Go to the top of the page
+Quote Post
pmir13
post
Post #11





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Wątek zapowiadał się wesoło już na samym początku, od "Wypierz port".
Po czym nastąpiło męczenie biednego portu, który najpierw w linii 6 był zmienną typu string, później w linii 7 resource (gdyby wywołanie było poprawne) by chwilowo zatrzymać się w linii 8 na tablicy.
W zasadzie można jeszcze zrobić
  1. function port( $query )
  2. {
  3. return mysql_query( $query );
  4. }

i do kompletu mamy funkcję port, dzięki czemu możemy jeszcze bardziej oszczędzić i elegancko wywołać:
  1. $port = "SELECT * FROM serwer WHERE port='$_POST[port]'";
  2. $port = port($port);

Go to the top of the page
+Quote Post
mit2
post
Post #12





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


ja niechce tego portu do funkcji sprowadzac ja chce zeby jezeli ten port juz byl wykorzystany to go nie pokazuje
Go to the top of the page
+Quote Post
markonix
post
Post #13





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


A może ruszysz siedzisko i pokażesz co już zrobiłeś (po mojej radzie i kolegi).
Popraw ten kod, dodaj odstępy i wytłumacz raz jeszcze o co chodzi i najlepiej bez błędów ortograficznych.


--------------------
Go to the top of the page
+Quote Post
mit2
post
Post #14





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


chodzi mi o to że pobiera liczbę z gry i chce zrobić coś takiego jeżeli dany port był wybrany i jest on np. w tabeli serwer albo w tabeli zamówienia to go nie pokazuje
  1. <tr>
  2. <td class="tabela_pomoc">Port</td>
  3. <td class="tabela_pomoc">
  4. <select name="port" onchange="this.form.submit();"><option value="">Wypierz Port</option>
  5. <?php
  6. $port = "SELECT * FROM serwer WHERE port='{$_POST['port']}'";
  7. $port = mysql_query("$port");
  8. $port = mysql_fetch_array($port);
  9. $por = "SELECT * FROM zamowienia WHERE port='{$_POST['port']}'";
  10. $por = mysql_query("$por");
  11. $por = mysql_fetch_array($por);
  12. if($port['port'] <> '')
  13. {
  14. if($por['port'] <> '')
  15. {
  16. }
  17. }
  18. else
  19. {
  20. $port = "SELECT * FROM gry WHERE id='$_POST[nazywamy]'";
  21. $port = mysql_query("$port");
  22. $port = mysql_fetch_array($port);
  23. $mine = $port[portod];
  24. $maxe = $port[portdo];
  25. for ($c=$mine; $c<=$maxe; $c++) {
  26. if(isset($_POST['port']))
  27. {
  28. $_SESSION['port']=$_POST['port'];
  29. }
  30. ?>
  31. <option <?php if($_SESSION['port'] == $c) { echo 'selected'; }else{ echo ''; } ?> value="<?php echo $c; ?>"><?php echo $c; ?></option>
  32. <?php
  33. }
  34. }
  35. ?>
  36. </select>
  37. </td>
  38. </tr>


Ten post edytował mit2 15.04.2011, 15:54:17
Go to the top of the page
+Quote Post
kill15
post
Post #15





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


Cytat(mit2 @ 14.04.2011, 15:49:19 ) *
Witam chce na stronie zrobic cos takiego że jeżeli np. dany port byl wykorzystany nie pokazuje go w option tu mam kod


Nie wiem czy Cię dobrze zrozumiałem ale może jak raz.
Chcesz aby można było wybrać tylko te porty których nikt wcześniej nie wybrał tak??
Jeżeli o to Ci chodzi to:
Zrób przy portach dodatkową kolumnę np nazwa "wykorzystane" z typem int.
Porty niewykorzystane oznacz 1.
A wykorzystane 0.
I później ściągaj tylko te co mają 1 warunkiem WHERE wykorzystane='1'.
No i oczywiście potem gdy ktoś zarezerwuje ten port czy coś to musisz tą 1 zmieniać na 0.

Nie jestem pewny czy o to Ci chodziło.
Go to the top of the page
+Quote Post
desperat666
post
Post #16





Grupa: Zarejestrowani
Postów: 31
Pomógł: 12
Dołączył: 19.03.2011

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


  1. <tr>
  2. <td class="tabela_pomoc">Port</td>
  3. <td class="tabela_pomoc">
  4. <select name="port" onchange="this.form.submit();">
  5. <option selected value="">WyBierz Port</option>
  6. <?php
  7.  
  8. $portwykorzystany = FALSE;
  9.  
  10. $port = $_POST['port'];
  11. $query = "SELECT * FROM serwer WHERE port='".$port."'";
  12. $result = mysql_query($query);
  13.  

nie, sorry, poddaję się.
Go to the top of the page
+Quote Post
mit2
post
Post #17





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


no jeżeli mam już ten początek napisany desperat666 to co dalej
kto ma pomysl jak to zrobic

ma ktos jakis pomysl jak to zrobic

Ten post edytował mit2 16.04.2011, 13:06:09
Go to the top of the page
+Quote Post
markonix
post
Post #18





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


kill15 ma przecież.
Nie umiesz mu odpisać, czy dobrze zrozumiał Twój problem?


--------------------
Go to the top of the page
+Quote Post
kill15
post
Post #19





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


mit2
jak my mamy Ci pomóc jak ty chyba tego nie chcesz questionmark.gif

markonix
chodzi Ci o tabele active questionmark.gif
Nie wiem czy to dla niego jest jakiś link aktywacyjny czy co, bo na kiego grzyba mu varchar przy tym? żeby się tam dostały jakieś niepotrzebne znaki questionmark.gif

Jeżeli active jest tą kolumną która ma sprawdzić czy port jest wolny to zrób to pole int i 0 to niech będą wykorzystane a 1 to niewykorzystane.
  1. $port = "SELECT * FROM gry WHERE id='$_POST[nazywamy]'" AND active='1';


Piszę jeszcze wg tamtego postu bo autor nie zmienił pytania ani nie sprecyzował.

mit2
odpisz to postaram Ci się pomóc.

  1. <?php if($_SESSION['port'] == $c) { echo 'selected'; }else{ echo ''; } ?>


Po co to questionmark.gif


desperta666 napisał dobrze
Cytat
[CTRL+A] a potem [BACKSPACE].


Ten post edytował kill15 16.04.2011, 15:58:08
Go to the top of the page
+Quote Post
mit2
post
Post #20





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


nie chodzi mi czy jest active chodzi mi o to ze gdy wypelniam formularz wypelniam tez port i wysylam to do zamowienia a nastepnie do serwerow. i chce zrobic cos takiego ze jeżeli dany port juz jest np. w zamowienia lub serwer to go nie pokazuje


poprostu po karzydym wyborze jakiejs z rzeczy odświerza się strona i zapisuje do sesji
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:58