• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Edytowanie zawartości bazy danych przez kod php i mysql.

+3 głosów
2,078 wizyt
pytanie zadane 4 kwietnia 2015 w SQL, bazy danych przez Mateusz Analityk Stary wyjadacz (13,740 p.)
przywrócone 4 kwietnia 2015 przez Mateusz Analityk
<?php
    
    
    class menu {
    
    var $handle;
    
        function __construct($host, $db_user, $db_password, $db_name )
    
                    {
                    
                        $this->handle = mysql_connect($host, $db_user, $db_password, $db_name ) or die ('złe dane do bazy danych');
                    
                        $tmp = mysql_select_db($db_name, $this->handle) or die ('zła baza danych');
                        

        }
    
        function dodaj($label) {
            
    
            mysql_query('insert into menu_admin values (null,\''.mysql_real_escape_string($label, $this-> handle). '\',\'N\');');        
        
        }
        
        function usun($id) {
        
        mysql_query('delete from menu_admin where id='.intval ($id).' limit 1');
        
        }
        
        function edytuj($id) {
            
            $akt = mysql_fetch_assoc(mysql_query('select stan from menu_admin where id='.intival($id).' limit 1'));
            
                    if ($akt ['stan']=='T'){
                        
                            $nw = 'N';
                            
                    } else {
                            
                            $nw = 'T';
                            
                             }
                            
             mysql_query('updete menu_admin set stan=\''.$nw.'\' where id=' .intival ($id).' limit 1');
        
        }




 

3 odpowiedzi

+3 głosów
odpowiedź 4 kwietnia 2015 przez elaen Gaduła (4,760 p.)
wybrane 24 kwietnia 2015 przez Mateusz Analityk
 
Najlepsza
function lista() {
                $ret = array();      
 
                $q = mysql_query('SELECT `id`, `label`, `stan` FROM menu_admin ORDER BY id');
                //echo ($q);  echo $q wystarczy pozatym nie wyświetisz tego w ten sposób
print_r($q) // wpisz tak i wklej co zwróci
    }

Uwaga nr 2. Polecam używać ulepszonej wersji mysql czyli mysqli. składnia jest prawie że identyczne a wiele metod jest naprawionych.

komentarz 4 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,740 p.)
teraz nie mam czasu nad tym pracować są święta...
komentarz 4 kwietnia 2015 przez elaen Gaduła (4,760 p.)
w takim razie jak będziesz miał czas to sprawdź to. Zwróć uwagę na to czy jest to tablica (array) czy obiekt(object) jeżeli będzie to obiekt to w foreach powinieneś wywoływać to element->stan, element->nazwa itd. jeżeli będzie to tablica to element['nazwa'].

Powodzenia:)
komentarz 4 kwietnia 2015 przez Bartosz Płóciennik Dyskutant (8,510 p.)

elean ma rację skoro robisz w mysql to używaj ulepszonej wersji mysqli lub PDO - nie ma sensu używać czegoś co jest przestarzałe i nie jest zalecane. mysqli nie jest wcale trudniejsze od mysql poniżej stronka dzięki której przerzuciłem się właśnie z mysql na mysqli w PHP - naprawdę Tobie polecam.


http://webmade.org/porady/mysqli-mysql-baza-danych.php

0 głosów
odpowiedź 4 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,740 p.)
            function lista() {

                

                $ret = array();        

                

                $q = mysql_query('SELECT `id`, `label`, `stan` FROM menu_admin ORDER BY id');

                

                echo ($q);

                

                while ($txt = mysql_fetch_assoc($q)); {

                    

                $ret [] = $txt ;

                    

                    }

                

                return $ret;

                            

                }

    }

    

    $dane = new menu("localhost", "root", "", "users");

    

        

    

    if(isset($_GET['akcja'] )){

        switch($_GET['akcja']){

        case 'dodaj':

        $dane->dodaj($_POST['panel_menu']);

        

            break;

        

        case 'usun':

        $dane->usun($_GET ['id']);

            break;

        

        case 'edytuj':

        $dane->edytuj($_GET ['id']);

            break;

        

        }

    

    $lista = $dane->lista();

    print_r ($lista);

    

    echo('<ul>');

    

    foreach($lista as $element){

        

        

        if ($element ['stan']== 'T'){

        

            $edytowane = 'x';

        

        } else {

            

            $edytowane = ' ';

            

        }

            

        echo ('<li>' .$element['menu'].'<a href="admin.php?akcja=edytuja&id='.$element['id'].'"> ['.$edytowane.'] </a> <a href=" admin.php?akcja=usun&id='.$element['id'].'"> usun </a></li>');

        

    

    }    

        

        echo('</ul>');

    

    }

    

    

?>

 

komentarz 4 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,740 p.)

Nie wiem co jest nie tak Array ( [0] => )  mimo że w bazie danych posiadam rekordy i mi ich nie wświetla na stronie. Może nie ma z nią odpowiedniego połączenia... ale dane z formularza się zapisują w bazie danych.

 

oprogramowanie:

xampp pod linuksa.

komentarz 4 kwietnia 2015 przez elaen Gaduła (4,760 p.)

updete <----------- literówka UPDATE :)

 

mysql_query('updete menu_admin set stan=\''.$nw.'\' where id=' .intival ($id).' limit 1');

Następnym razem użyj znacznika code, i lepiej zformatuj tekst:)

0 głosów
odpowiedź 4 kwietnia 2015 przez Lewan Obywatel (1,850 p.)

A gdzie jest pytanie twoje ? Nie wiem za bardzo o co ci chodzić mogło. Dałeś kod z którego mamy wypisac wszystko co się da zrobić ? Proszę napisz co chcesz uzyskać. Nie wiem też w jakim celu chcesz sie łączyć z baza MySQL :). Proszę cie o wiecej informacji.

P.S: Jak dajesz kod wklejaj go za pomocą funkcji umiesznacznai kodow. Przykład:

 

Przykładowy kod jak by miało to wyglądać.

 

komentarz 4 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,740 p.)
Chcę sobie stworzyć na razie listę z możliwością jej edyzji i dodawania nowych rekordów. Lista jest zapisana w bazie danch i mogę ją z poziomu strony dowolnie edytować. Później chcialbym sobie stwożyć dnamiczne menu na głównej stronieedytowane z panelu admina.
komentarz 4 kwietnia 2015 przez elaen Gaduła (4,760 p.)
Prosze najpierw umieść kod w znaczniku CODE, bardzo nam to pomoże :)
komentarz 4 kwietnia 2015 przez Mateusz Analityk Stary wyjadacz (13,740 p.)
Kod wklejony poprawnie... jest to mój pierwszy post więc nie znałem jeszcze tych znaczników. Chciałem przez skana wrzucić ale za kiepska jakość zdjęć była.

Podobne pytania

0 głosów
1 odpowiedź 659 wizyt
pytanie zadane 23 lipca 2015 w PHP przez Mateusz Analityk Stary wyjadacz (13,740 p.)
0 głosów
0 odpowiedzi 297 wizyt
0 głosów
1 odpowiedź 396 wizyt
pytanie zadane 3 kwietnia 2018 w PHP przez krysba Początkujący (360 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...