Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλήμερα σε όλους
Έχω το έξεις θέμα πειραματίζομαι με php, js, ajax και jQuery. Έχω φτιάξει μια εφαρμογή οπού καταχωρώ προσωπικό έχω καταφέρει να κάνω καταχώρηση(μέσα από μια φόρμα που συμπληρώνω πεδία) και να τους διαγράφω άλλα δεν μπορώ να βρω πως να βάλω ένα κουμπί για να μπορώ να τους κάνω επεξεργασία (δηλαδή αν έχω γράψει το όνομα λάθος να μπορώ να το αλλάξω)

Δημοσ.

δεν καταλαβα καλα τι ρωτας!

 

αν θες βοηθεια με την εφαρμογη σου θα πρεπει να μας παραθεσεις τον κωδικα σου.

αν θες βοηθεια για το πως να κανεις τα πρωτα βηματα εκει που λες μπορεις να πας στο http://www.codecademy.com/learn

  • Moderators
Δημοσ.

Καλήμερα σε όλους

Έχω το έξεις θέμα πειραματίζομαι με php, js, ajax και jQuery. Έχω φτιάξει μια εφαρμογή οπού καταχωρώ προσωπικό έχω καταφέρει να κάνω καταχώρηση(μέσα από μια φόρμα που συμπληρώνω πεδία) και να τους διαγράφω άλλα δεν μπορώ να βρω πως να βάλω ένα κουμπί για να μπορώ να τους κάνω επεξεργασία (δηλαδή αν έχω γράψει το όνομα λάθος να μπορώ να το αλλάξω)

Γιατί δυσκολεύεσαι εκεί; 

Προσθέτεις ένα κουμπί, το ονομάζεις "edit" ή επεξεργασία, και όταν το πατάει ο χρήστης χρησιμοποιείς javascript για να μπεις σε "edit mode", ενεργοποιείς τα πεδία που θέλεις να μπορεί να αλλάξει ο χρήστης, και εμφανίζεις δύο κουμπιά Update και Cancel. Το Update με ajax θα κάνει update στη βάση σου (αν η εγγραφή όντως υπάρχει/ακόμα υπάρχει κλπ) και σε βγάζει από το edit mode. Το Cancel φέρνει από τη βάση (ajax) ότι υπάρχει αποθηκευμένο στα σχετικά πεδία και σε βγάζει από το edit mode. 

Δημοσ.

Χίλια συγνώμη θα γίνω πιο αναλυτικώς
Κωδικός καταχώρησης προσωπικού
 

<?php

	include_once("inc/global.php");
	define("UPLOAD_DIR", "resumes/");
	define("PROFILE_DIR","images/");
    
	$name=$_POST['name'];
	$phone=$_POST['phone'];
	$mobile=$_POST['mobile'];
	$address=$_POST['address'];
	$email=$_POST['email'];
	$website=$_POST['website'];
	$language= $_POST['language'];
	$contact_date=$_POST['contact_date'];
	$experiance=$_POST['experiance'];
	$job=$_POST['job'];
	$comment = $_POST['comment'];

    // process file upload
    if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["resume"])) {
    $myFile = $_FILES["resume"];
    if ($myFile["error"] !== UPLOAD_ERR_OK) {
    echo "<p>An error occurred.</p>";
    exit;
    }
    // ensure a safe filename
    $fname = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
	// don't overwrite an existing file
	$i = 0;
	$parts = pathinfo($fname);
	    while (file_exists(UPLOAD_DIR . $fname)) {
	        $i++;
	        $fname = $parts["filename"] . "-" . $i . "." . $parts["extension"];
	    }

	    // preserve file from temporary directory
	    $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $fname);
	    if (!$success) {
	        echo "<p>Unable to save file.</p>";
	        exit;
	    }

	    // set proper permissions on the new file
	    chmod(UPLOAD_DIR . $fname, 0644);

	    echo "<p>Uploaded file saved as " . $fname . ".</p>";
	}
	//image upload
	if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["profile_image"])) {
	    $myImage = $_FILES["profile_image"];
	    if ($myImage["error"] !== UPLOAD_ERR_OK) {
	        echo "<p>An error occurred.</p>";
	        exit;
	    }
	    // verify the file type
	    $fileType = exif_imagetype($_FILES["profile_image"]["tmp_name"]);
	    $allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG);
	    if (!in_array($fileType, $allowed)) {
	        echo "<p>File type is not permitted.</p>";
	       exit;
	    }

	    // ensure a safe filename
	    $iname = preg_replace("/[^A-Z0-9._-]/i", "_", $myImage["name"]);

            // don't overwrite an existing file
	    $i = 0;
	    $iparts = pathinfo($iname);
	    while (file_exists(PROFILE_DIR . $iname)) {
	        $i++;
	        $iname = $iparts["filename"] . "-" . $i . "." . $iparts["extension"];
	    }
    // preserve file from temporary directory
	    $success = move_uploaded_file($myImage["tmp_name"], PROFILE_DIR . $iname);
	    if (!$success) {
	        echo "<p>Unable to save file.</p>";
	        exit;
	    }

	    // set proper permissions on the new file
	    chmod(PROFILE_DIR . $iname, 0644);

	    echo "<p>Uploaded file saved as " . $iname . ".</p>";
	}
	$ipath= PROFILE_DIR .$iname;
	$path = UPLOAD_DIR . $fname;

        if(mysql_query("INSERT INTO staff(name, phone, mobile, address, email, website, language,contact_date, exp,job_id, resume, profile_image, comment) 
    		VALUES ('$name','$phone','$mobile','$address','$email','$website','$language','$contact_date','$experiance','$job','$path','$ipath','$comment')")){
  	     echo "<span style=\"background-color:#00B3FF; color: #FFF;\" >Staff added </span>";
          }
       else{
                   echo "Error";
        }
?>

Κώδικας Διαγραφής 
 

<?php

	include_once('inc/global.php');
        $id = $_POST['id'];

        if(isset($_POST['id'])){
			mysql_query("UPDATE staff SET active='0' WHERE id=$id")or die("Query error");
            echo "<span style=\" color: #FFF;\" >Staf deleted. </span>";
	    } 
        else{
        	echo "Error";
        }
       

?>

Κώδικας Εμφάνισης Προσωπικού  

<?php
include_once('inc/global.php');

$data = mysql_query(" SELECT * FROM staff WHERE active='1' ")or die("Query error");
    echo "<table id='staff_table'>";
    while ($info = mysql_fetch_array( $data )) {
           $id = $info['id'];
           $job_id=$info['job_id'];
           $dato=mysql_query(" SELECT * FROM jobs WHERE job_id='$job_id' ")or die("Query error");
           $job=mysql_fetch_array( $dato );

           echo "<tr><td><a href='#' id='".$id."' class='show_profile'> ".$info['name']."</a></td><td>".$job['job_name']."</td><td><button class='staff_delete' id='".$id."'>Delete</button></td><td><button class='staff_test' id='".$id."'>test</button></td></tr>";
    }
   echo "</table>";

  ?>

Άπλα όπως φαίνεται  στην εικόνα διπλά στο κουμπί delete το κουμπί test θέλω να μου επιστρέφει την φόρμα εισαγωγείς για συγκεκριμένο άτομο να αλάζω καπιο από τα πεδία και με το submit ου πατάω να αλλάζουν και στην βάση
Ελπίζω να έγινα πιο κατανοητός από πριν

  • Moderators
Δημοσ.

Τυπικά, και αν καταλαβαίνω καλά, αυτό που θέλεις είναι μια νέα σελίδα που να σου παραθέτει όλες τις καταχωρήσεις προσωπικού που έχουν γίνει (πχ ένας πίνακας /gridview/whatever που το συμπληρώνεις από το select στη βάση σου). Θέλεις ένα τρόπο να κάνεις αναζήτηση στις καταχωρήσεις αυτές (κάποιο filter πάνω στο Table ή κάποιο search module που θα φτιάξεις). Και τέλος θέλεις να επιλέγεις μια καταχώρηση από αυτές και να την κάνεις edit (είτε in-place στον πίνακα ή σε νέα σελίδα με φόρμα παρόμοια του insert).

 

Γενικά, αυτό πρέπει να υπάρχει και έτοιμο (ξέρω πακέτα σε .Net που το κάνουν (πχ DevExpress), λογικά θα υπάρχει κάτι και σε php), και συνήθως αυτά τα πακέτα έχουν και πρόσθετες λειτουργίες, όπως ταξινόμηση των καταχωρήσεων, σελιδοποίηση, filters ανά στήλη, δυνατότητα edit/delete/custom command ανά γραμμή καταχώρησης κλπ.

Δημοσ.

Χίλια συγνώμη θα γίνω πιο αναλυτικώς

Κωδικός καταχώρησης προσωπικού

 

<?php

	include_once("inc/global.php");
	define("UPLOAD_DIR", "resumes/");
	define("PROFILE_DIR","images/");
    
	$name=$_POST['name'];
	$phone=$_POST['phone'];
	$mobile=$_POST['mobile'];
	$address=$_POST['address'];
	$email=$_POST['email'];
	$website=$_POST['website'];
	$language= $_POST['language'];
	$contact_date=$_POST['contact_date'];
	$experiance=$_POST['experiance'];
	$job=$_POST['job'];
	$comment = $_POST['comment'];

    // process file upload
    if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["resume"])) {
    $myFile = $_FILES["resume"];
    if ($myFile["error"] !== UPLOAD_ERR_OK) {
    echo "<p>An error occurred.</p>";
    exit;
    }
    // ensure a safe filename
    $fname = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
	// don't overwrite an existing file
	$i = 0;
	$parts = pathinfo($fname);
	    while (file_exists(UPLOAD_DIR . $fname)) {
	        $i++;
	        $fname = $parts["filename"] . "-" . $i . "." . $parts["extension"];
	    }

	    // preserve file from temporary directory
	    $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $fname);
	    if (!$success) {
	        echo "<p>Unable to save file.</p>";
	        exit;
	    }

	    // set proper permissions on the new file
	    chmod(UPLOAD_DIR . $fname, 0644);

	    echo "<p>Uploaded file saved as " . $fname . ".</p>";
	}
	//image upload
	if ($_SERVER["REQUEST_METHOD"] == "POST" && !empty($_FILES["profile_image"])) {
	    $myImage = $_FILES["profile_image"];
	    if ($myImage["error"] !== UPLOAD_ERR_OK) {
	        echo "<p>An error occurred.</p>";
	        exit;
	    }
	    // verify the file type
	    $fileType = exif_imagetype($_FILES["profile_image"]["tmp_name"]);
	    $allowed = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG);
	    if (!in_array($fileType, $allowed)) {
	        echo "<p>File type is not permitted.</p>";
	       exit;
	    }

	    // ensure a safe filename
	    $iname = preg_replace("/[^A-Z0-9._-]/i", "_", $myImage["name"]);

            // don't overwrite an existing file
	    $i = 0;
	    $iparts = pathinfo($iname);
	    while (file_exists(PROFILE_DIR . $iname)) {
	        $i++;
	        $iname = $iparts["filename"] . "-" . $i . "." . $iparts["extension"];
	    }
    // preserve file from temporary directory
	    $success = move_uploaded_file($myImage["tmp_name"], PROFILE_DIR . $iname);
	    if (!$success) {
	        echo "<p>Unable to save file.</p>";
	        exit;
	    }

	    // set proper permissions on the new file
	    chmod(PROFILE_DIR . $iname, 0644);

	    echo "<p>Uploaded file saved as " . $iname . ".</p>";
	}
	$ipath= PROFILE_DIR .$iname;
	$path = UPLOAD_DIR . $fname;

        if(mysql_query("INSERT INTO staff(name, phone, mobile, address, email, website, language,contact_date, exp,job_id, resume, profile_image, comment) 
    		VALUES ('$name','$phone','$mobile','$address','$email','$website','$language','$contact_date','$experiance','$job','$path','$ipath','$comment')")){
  	     echo "<span style=\"background-color:#00B3FF; color: #FFF;\" >Staff added </span>";
          }
       else{
                   echo "Error";
        }
?>

Κώδικας Διαγραφής 

 

<?php

	include_once('inc/global.php');
        $id = $_POST['id'];

        if(isset($_POST['id'])){
			mysql_query("UPDATE staff SET active='0' WHERE id=$id")or die("Query error");
            echo "<span style=\" color: #FFF;\" >Staf deleted. </span>";
	    } 
        else{
        	echo "Error";
        }
       

?>

Κώδικας Εμφάνισης Προσωπικού  

<?php
include_once('inc/global.php');

$data = mysql_query(" SELECT * FROM staff WHERE active='1' ")or die("Query error");
    echo "<table id='staff_table'>";
    while ($info = mysql_fetch_array( $data )) {
           $id = $info['id'];
           $job_id=$info['job_id'];
           $dato=mysql_query(" SELECT * FROM jobs WHERE job_id='$job_id' ")or die("Query error");
           $job=mysql_fetch_array( $dato );

           echo "<tr><td><a href='#' id='".$id."' class='show_profile'> ".$info['name']."</a></td><td>".$job['job_name']."</td><td><button class='staff_delete' id='".$id."'>Delete</button></td><td><button class='staff_test' id='".$id."'>test</button></td></tr>";
    }
   echo "</table>";

  ?>

Άπλα όπως φαίνεται  στην εικόνα διπλά στο κουμπί delete το κουμπί test θέλω να μου επιστρέφει την φόρμα εισαγωγείς για συγκεκριμένο άτομο να αλάζω καπιο από τα πεδία και με το submit ου πατάω να αλλάζουν και στην βάση

Ελπίζω να έγινα πιο κατανοητός από πριν

Σημείωση:

 

Πρίν κάνεις το mysql query ότι variable θα μπεί σε στο query string κάντην mysql_real_escape_string η ακόμη αξιοποίησε το PDO και prepared Statements ειδάλλως είναι ευάλωτη σε mysql injection η εφαρμογή σου.

 

Για το PDO:

http://php.net/manual/en/book.pdo.php

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...